变量存储类型

静态存储方式:在程序运行期间分配固定的存储空间的方式,静态存储区中存放了整个程序执行过程中都存在变量,如全局变量

动态存储方式:在程序运行期间根据需要进行动态的分配存储空间的方式。动态存储区中存放的变量是根据程序运行的需要而建

立和释放的。通常包括:自动变量;函数调用时的现场保护和返回地质等。

C语言中存储类别分为四类:

1、自动(auto),用关键字auto定义的变量为自动变量,auto可省略,如不写则隐含定为“自动存储类别”,属于动态存储方式

例:auto int b,c;

2、静态(static),用static修饰的为静态变量,如定义在函数内部,称为静态局部变量,如定义在函数内部,称为静态外部变量

注:静态局部变量属于静态存储类别,在静态存储区内分配存储单元,在整个程序运行期间不释放;静态局部变量在编译时赋

初值,即只赋值一次;如果定义局部变量时不赋初值,则对静态局部变量来说,编译时自动赋初值0(对数值型变量)或 空

字符(对字符变量)

3、寄存器(register),为提高效率,将局部变量的值放在CPU中的寄存器中,这种变量叫“寄存器变量”

例:register int i;

注:只有局部自动变量和形式参数可以作为寄存器变量;一个计算机系统中的寄存器数量有限,不能定义任意多个寄存器的数量;

局部静态变量不能定义为寄存器变量

4、外部(extern),外部变量的意义是某函数可以调用在该函数之后定义的变量