第1章介绍过,程序可以由几个源文件组成,大多数程序一般都会有几个源文件。如果程序由多个源文件组成,就需要在一个源文件中访问在另一个源文件中声明的全局变量,这一点使用extern关键字就可以实现。假定一个程序文件包含如下内容:
//File1.cpp
int shared_value=100;
//Other program code…
如果另一个文件中的代码需要访问shared_value变量,就可以使用下面的语句:
//File2.cpp
extern int shared_value; //Declare variable to be external
int main() {
int local_value= shared_value+10;
..//Plus other code…
}
由于File2.cpp中的第一个语句把shared_value变量声明为外部,因此这只是一个声明,不是定义。接着,在main()中对shared_value变量的引用就是引用在第一个文件File1.cpp中定义的变量。
在声明外部变量时,不能使用初始化值。假定在第二个文件中有如下代码:
extern int shared_value=0; //Wrong! Not an external declaration.
如果变量定义为局部变量,extern声明就会被忽略。





