在C语言中,可以使用extern
关键字将全局变量引用为当前源文件的外部变量。假设通过语句在另一个文件中(例如:filename1.h
)定义了全局变量:
int number = 0;
double d = 2.54;
在要在源文件(例如:filename2.c
)中访问它们,可使用以下语句指定这些变量名称是外部的:
extern int number;
extern double d;
这些语句不会创建这些变量。只是向编译器确定这些名称是在其他地方定义的。这些名称应该适用于此源文件的其余部分。
指定为extern
的变量必须在程序中的其他位置声明和定义,通常在另一个源文件中。
要使这些外部变量可供当前文件中的所有函数访问,请在任何函数定义之前将外部变量声明文件的开头位置。
对于包含多个文件的程序,可以将所有初始化的全局变量放在一个文件的开头,将所有extern
语句放在头文件中。
extern
语句可以包含在.c
文件中。
和函数的全局使用极其类似:
第一种方法,也是最简单的:
在 first.h
中定义,
int G_Flag=178;
在对应的first.c中使用:
#include "first.h"
#include <stdio.h>
void main()
{
printf("%d",G_Flag);
}
另外一个示例:
利用extern
关键字,使用在后边定义的变量:
#include<stdio.h>
int func();
int main()
{
func(); //1
extern int num;
printf("%d",num); //2
return 0;
}
int num = 3;
int func()
{
printf("%d\n",num);
}