第1个回答 2013-07-18
这是人家CPU制作厂商的事情
在WIN系统中(没有用过别的OS)翻译成机器语言,根本就找不到变量名,都是按照地址来操作的
至于数组名可以表示一个地址
int a[100],
int b
a表示地址,b表示值
是C语言这么规定的,这个就是没有什么理由
变量名对应的是什么,程序运行期间是怎么操作变量的?
比如
char str[100]="welcome";
就是welcome存在于程序中(硬盘上)
全局变量大都也凑存储于硬盘上
局部变量,在栈中进行操作
如
int a;可以翻译为
sub esp,4
你学过汇编之后可以稍微懂一点