1.变量的定义:变量是指以标识符为名字,其值可以改变的量。一个变量代表计算机内存中的某一存储单元,该存储单元中存放的数据就是变量的值,而该存储单元的数据可以改变。
2.变量的意义:
(1).变量表示中内存的一个存储区域(不同的数据类型,占用的空间大小不一样)
(2).该区域有自己的名称和类型
(3).变量必须先声明,后使用
(4).该区域的数据可以在同一类型范围内不断变化
(5).变量在同一个作用域内不能重名
(6).变量三要素 (变量名+值+数据类型)
3.变量名:是一个标识符(identifier),用来指代一块内存区域,即变量,变量名并不占用内存空间,使用变量名让我们操作内存以区域、以块为单位,提高了方便性。
4.变量名与地址的关系是映射关系
5.除了变量名不是内存地址,其他都是名都是地址吗?
(1)所谓的其他名无非是函数名、标识符常量名、指针名、数组名、结构名、类名等等。
(2)比如指针名、数组名、函数名就是地址,它们分别表示指针所指向元素的地址、数组的首地址和函数的入口地址。
(3)变量名虽然不直接表示地址,但可用取地址符号&来获得它所代表的变量的存放地址。因为在定义变量的同时会分配给它相应的空间而指针变量呢,它本身也是一个变量名,只不过它标识的那块内存存放的是一个地址值。
6.编译
(1)变量名是给编译器看的,编译器根据变量是局部还是全局分配内存地址或栈空间,所谓的变量名在内存中不存在,操作时转换成地址数存放在寄存器中了。
(2)编译器会将合法的变量名放到一个叫“符号表”的一个表中。
(3)每个符号对应一个地址。当你调用此变量时,就会根据此符号表找到对应的地址,然后进行操作。