上文说到,全局变量的作用范围是从其定义开始,至程序结束为止。但在大型程序开发时,项目往往由多个源文件构成。某个源文件往往会用到其他源文件里定义的全局变量,这时应该怎么办呢?
这时我们就可以用“extern”关键字,对这个变量进行声明,告诉编译器,这个变量在其他地方是定义过的。
//演示extern声明全局变量的用法
//file1.c
#include <stdio.h>
extern long power(int);
int A=2;
main()
{
int n=10,total;
total=power(n);
printf("2^10 = %d \n",total);
}
//file2.c
extern A;
long power(int n)
{
long total=1;
int i;
for(i=1;i<=n;i++)
total*=A;
return total;
}
编译方法和运行结果: