多个.c文件共享一个全局变量有两种方法:
第一种:在头文件a.h中使用extern申明变量,在相应a.c文件定义该变量,在另一个需要调用该变量的文件b.c中包含头文件a.h即可
如:
在a.h中
extern int c;
在a.cc中
int c = 12;
在b.c中
#include<a.h>
int main()
{
printf("extern_c = %d\n",c);
return 0;
}
执行结果为"extern_c = 12”
第二种:不使用头文件,在a.c文件定义变量(全局变量),在b.c文件使用extern申明后,即可调用该变量。
如:
在a.c文件中
int c = 12;
在b.c文件中
extern int c;
int main()
{
printf(“extern_c = %d\n",c);
return 0;
}
执行结果为:“extern_c = 12”
以上结果均在vc++6.0编译器下进行,编译执行通过,个人感觉第一种方法较好,第二种执行速度较慢。