第 7
章 变量存储类型与多文件系统
本章重点
● 变量的存储类型。
● 静态变量在多个函数中的应用。
● 外部变量在多个文件中的应用。
本章难点
● 自动变量的作用范围。
● 内部静态变量与外部静态变量作用范围及生存期。
● 外部变量在多文件中的应用。
7.1 变量的存储类型
在 C 语言中,变量的存储类型有:auto(自动)、register(寄存器)、static(静
态)和 extern(外部)。不同的存储类型直接影响着变量在函数中的作用域与生存期。
7.2 auto 存储类型的变量与作用范围
定义自动变量时,可在函数内或复合语句内指定存储类型说明符 auto 或省略,系统
都认为所定义的变量具有自动类别。因此,在函数内部定义变量:
float a;
就等价于:
auto float a ;
例如:
int sub(float a)
{
int i=2;
if(i>0)
{
int n=1
;
printf("%d\n",n);
}
return 0;
}
例 7.1 模块内外自动变量应用的例子。
:编辑源程序代码 7-1.c 如下:
#include<stdio.h>
int main()
{
int x=5;
i 的作用范围
n 的作用范围