@变量的存储类型
#自动型(auto)
#寄存器型(register)
#外部型(extern)
#静态型(static)
@变量的存储方式
#静态存储方式
##外部型变量(extern)
##静态型变量(static)
#动态存储方式
##自动型变量(auto)
##寄存器型变量(register)
@自动型变量(auto)
#定义变量时若声明存储类型为auto,则所定义的变量为自动型变量。auto可以省略。定义变量时不特别声明存储类型都为自动变量。
#格式: static 数据类型 变量表;
#例 auto int x;
@静态型变量
#定义变量时声明存储类型为static,则定义的变量为静态型变量。
#没有初始化静态变量,系统自动赋值0。
#静态型变量只有第一次执行定义语句时分配内存,以后每次调用它所在的函数时,不再重新分配内存,不再重新赋值。只是保留上次调用结束的值。
#格式:static 数据类型 变量表;
#例:static int x;
@寄存器变量(C语言将频繁使用的局部变量的值存储到CPU的通用寄存器)
#只有局部变量才能定义寄存器型变量,全局变量不行。
#对于占用字节数较多的变量,long、float、double一般不能定义为寄存器变量
#寄存器型变量随系统而异,例如微机上的MSC和TC将寄存器型变量实际当作自动变量处理
#因为CPU通用寄存器数据有限,所以寄存器变量也是有限制,不能无限定义寄存器变量
#格式:register 数据类型 变量表;
#例:register int x;
@外部变量
#外部变量是用于多个编译单元之间传递数据,