变量:
变量的本质:变量是一段实际连续存储空间的别名,程序中通过变量来申请并命名存储空间,通过变量的名字可以使用存储空间。
变量的属性:c语言中的变量可以有自己的属性,在定义变量的时候可以加上“属性”关键字,“属性”关键字指明变量的特有意义 auto即C语言中局部变量的默认属性 编译器默认所有的局部变量都是auto的,指明该变量是在程序的栈上面分配空间的 static关键字指明变量的“静态”属性 static修饰的局部变量存储在程序的静态区分配空间,static关键字同时具有“作用域限定符”的意义 作用域限定符 : static修饰的全局变量作用域只在声明的文件中,只能在该文件中被调用 static修饰的函数作用域只在声明的文件中,也就是只在该文件中可以被调用,其他文件中不能被调用 register关键字指明将变量存储于寄存器中 register只是请求寄存器变量,但不一定请求成功,register指明的变量的长度必须是CPU寄存器可以接受的值 不能用&运算符获取register变量的地址,&只能取内存中的地址,因为寄存器不属于内存 寄存器变量只可能是局部变量,寄存器变量用在对实时性要求非常高的系统当中。 **************************小结:
变量用来标识一段连续的内存,而变量前面的数据类型用来标识这段连续内存的长度。
例如: int a=13; 表示用一段内存来保存数据13,并为该段内存起名为a,而该段内存的长度则为4个byte(int类型)。
auto 指明的变量存储在程序的栈中,默认属性
static 指明的变量在程序的静态区中分配空间
register 指明的变量是向编译器请求存储在CPU寄存器中