易百教程

外部变量

在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);
}