I am a C tutor and dev that is trying to deepen my understanding about what's going on during compilation. I have come across C tutorial which says that
After compilation there are no more variable names, just addresses
I assume the the left operand of the =
operator must be an ADDRESS!
Following that logic, it's safe to assume that the assembly command for x=9
will be something like:
put the literal 9
into the address of x
So isn't it safe to say the the lvalue x
is replaced with its own address?
And if so - why isn't is possible to just give the address directly like so:
&x=9
Which seems to me will result in the same assembly commands..
After all, this lvalue on the left hand side will be evaluated to its address, and this address will be sent as an operand to the =
operator