1.变量: 用来标识一块内存区域,这块区域一般可以更改;
2.变量名: 一个标识符,用来指代一块内存区域,即变量;使用变量可以让我们以区域,块为单位操作内存,提高效率;
在机器代码中是不会出现变量名的;变量名是让程序员操作内存用的!
对于编译器,它会收集我们的变量名:
int a: 编译器的工作: 1.为变量分配4字节的内存空间; 2.把变量名保存进符号表; 3.用这个符号表的索引对应实际的空间;
如果出现b = a; 编译器就会根据符号表找到变量真正的物理地址,取出它的值,赋给b;
上面这些是编译器做的,而程序员需要做的就是建立符号表.
在汇编层次上,操作的都是地址而已,不存在任何名称.