background image

第 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 的作用范围