如果全局变量不在文件的开头定义,有效的作用范围将只限于其定义处到文件结束。如果在定义点之前的函数想引用该全局变量,则应该在引用之前用关键字 extern 对该变量作“外部变量声明”,表示该变量是一个已经定义的外部变量。有了此声明,就可以从“声明”处起,合法地使用该外部变量。
#include <stdio.h>
int add()
{
extern int x;
extern int y;
x = 1;
y = 2;
return x + y;
}
int main()
{
int temp;
temp = add();
printf("%d\n", temp);
return 0;
}
int x;
int y;
extern可以是对同一个.cpp文件的不同位置,也可以是不同.cpp文件引用。
//add.cpp
#include <stdio.h>
int addtwonum()
{
extern int x ;
extern int y ;
return x+y;
}
//main.cpp
#include <stdio.h>
int x=1;
int y=2;
int addtwonum();
int main()
{
int result;
result = addtwonum();
printf("result 为: %d\n",result);
return 0;
}