比如int a=1。
那么系统在栈区分配了4个字节,在里面放了1这个数据。那么变量名a存在哪儿了。或者说,在后面是用a的时候,比如printf(a);怎么通过a找到内存地址
a只是一个助记符,后面已经被硬编码成地址了
比如a在内存里的偏移量是12,那么编码完就是直接打印内存12里的值
你如果学过单片机如何编程就能理解了,根本没有变量,值都在寄存器里,你说要读写哪个寄存器就行了
高级语言里有变量名纯粹是为了程序员不要把那么一大堆不同的地址搞混掉,是帮助程序员记住哪个寄存器是干什么用的
编译之后它就回归本来的样子了,名字就没用了
如果学了汇编语言就知道,变量a是存放在代码区的,其值为栈区中“1”的存放地址。