变量生存期和储存类型

生存期:

全局变量:

生存期和程序一致;

作用域为从声明处至程序结束;

动态局部变量:

(是指语句块内声明的变量,包括函数形参)

从声明到代码块的右大括号;

 

储存类型:

(指编译器为变量分配内存的方式,决定变量的生存期)

auto-----自动变量(default):

动态变量。

初始化默认为0。

static----静态变量:

作用域同动态局部变量,生存期为整个程序运行期间。

静态变量只初始化一次,变量的值可保存到下次进入函数再继续调用,使函数具有记忆功能。

初始化默认为0。

extern---外部变量:

声明点之前使用时用extern声明。

register-寄存器变量:

CPU内部容量有限,但速度极快的变量。

现代编辑器有能力将auto优化为register,无需用户指定。

储存方式:

静态~:存储于RAM中的静态储存区,此区中的变量与程序共存亡

动态~:存储于RAM中的动态储存区,此区中的变量与所在语句块共存亡

寄存器~:存储于CPU中的寄存器,同动态储存区

你可能感兴趣的:(C,&,C++)