学习目标:了解变量的存储类型之
1.变量的生命周期
2.变量的四种储存类型
3.静态局部变量的特性
学习内容:
一.变量的储存类型决定变量的生命周期
二,①/自动变量/ auto 类型名 变量名
例:auto int a (自动整型变量)
进出语句块时,自动申请或释放内存.
已学的定义的局部变量,形式参数变量均为自动变量,但省略了(缺省的存储类型)
局部变量不初始化时,其值是不确定的.
②/静态变量/ static 类型名 变量名
例:static int a=8
编译时分配内存地址,运行时一直占用内存,结束时释放内存.
定义函数内(外)部,静态局部(全局)变量.
开始运行时初始化(0),后不再初始化. 且其具有记忆特性
(生命周期等同于全局变量,作用域等同于自动局部变量(限于本函数))
例5.10:利用静态局部变量求1-5的阶乘
int fun(int n)
{ static int f=1;
f=f*n;
return f;
)
main ()
{ int i=0;
for(i=1;i<=4;i++)
{
printf("%d\n",fun(i));
}
return 0;
]
调用函数,巧妙地运用静态变量的特点.
③/外部变量/ extern 类型名 变量名;
用于声明全局变量
④/寄存器变量/ register 类型名 变量名;
CPU中数量有限、但速度极快的储存器.