生存期:
全局变量:
生存期和程序一致;
作用域为从声明处至程序结束;
动态局部变量:
(是指语句块内声明的变量,包括函数形参)
从声明到代码块的右大括号;
储存类型:
(指编译器为变量分配内存的方式,决定变量的生存期)
auto-----自动变量(default):
动态变量。
初始化默认为0。
static----静态变量:
作用域同动态局部变量,生存期为整个程序运行期间。
静态变量只初始化一次,变量的值可保存到下次进入函数再继续调用,使函数具有记忆功能。
初始化默认为0。
extern---外部变量:
声明点之前使用时用extern声明。
register-寄存器变量:
CPU内部容量有限,但速度极快的变量。
现代编辑器有能力将auto优化为register,无需用户指定。
储存方式:
静态~:存储于RAM中的静态储存区,此区中的变量与程序共存亡
动态~:存储于RAM中的动态储存区,此区中的变量与所在语句块共存亡
寄存器~:存储于CPU中的寄存器,同动态储存区