C语言中将外部变量的作用域扩展到其他文件
1.外部变量的定义
外部变量是在函数的外部定义的全局变量。全局变量都是存放在静态存储区中,因而它的生存期是固定的,存在于程序的整个运行过程。
2.外部变量的作用域扩展
但外部变量有一个重要问题,就是作用域的设置和扩展。其中扩展作用域,对于模块化程序设计至关重要。
一个C程序可以由一个或多个源程序文件组成。(a)如果程序只由一个源文件组成,使用外部变量的方法是通过关键字extern实现外部变量的作用域的扩展。(b)如果程序由多个文件组成时,拓展外部变量的方法是在被扩展的文件程序的开头用“extern 被扩展的外部变量”。
3.举例
例如:包含两个文件的c源程序,给定A1的值,输入b和m,求a*b和A1^m ,实现程序如下:
文件1源程序: file1.c
#include <stdio.h>
int A1;
int main()
{
int power(int b,int m);
int b=21,c,d,m;
printf("please enter the number A1 and its power m:\n");
scanf("%d,%d",&A1,&m);
c=A1*b;
printf("%d*%d=%d\n",A1,b,c);
d=power(A1,m);
printf("%d^%d=%d\n",A1,m,d);
return 0;
}
文件2源程序:file2.c
// 子函数power
extern A1;
int power(int A1,int n)
{
int i,y=1;
for(i=1;i<=n;i++)
y*=A1;
return(y);
}
4.运行结果