第四章

动态存储

存储空间不是固定的,在程序运行期间按需动态分配

通常,局部变量、寄存器变量采用动态方式存储

 

静态存储

在程序运行期间由系统分配固定的存储空间

通常,局部static变量、全局变量都以静态方式存储

以静态方式存储的变量,其初始化在程序编译时进行 

 

auto类型的变量

采用动态存储方式定义auto类型变量的

语法形式:[ auto ] 数据类型 变量名列表;

示例:auto int x; 

 

static类型的变量采用静态存储方式。

○ 定义static类型变量的语法形式:static 数据类型 变量名列表;

○ 局部static变量

○ 全局static变量

 

局部static变量

定义在函数内部的static变量。

与普通变量的区别在于: 

局部静态变量的初始化只进行一次。再次进入该函数时,将保存上次的结果。

局部静态变量如果在定义时没有赋初值,编译时自动赋初值0。 

 

全局static变量

定义在函数外部的static变量。

与普通变量的区别在于:

全局static变量只在定义它的源文件中有效。

普通全局变量可以通过外部变量声明(extern),被其源文件使用。 

 

register类型的变量采用动态存储方式。这类变量的

值保存在cpu内的寄存器中。 

 

 

posted @ 2019-07-05 20:49  白白白雾啊啊啊  阅读(115)  评论(0)    收藏  举报