定义:
- 可置于变量或者函数前,以表示变量或者函数的定义在别的文件中。提示编译器遇到此变量或函数时,在其它模块中寻找其定义;
- 若一个变量需要在同一个工程中的不同文件中直接使用或修改,则需要将自变量做extern声明,只需要到定义它的文件中进行修改即可。
注意:
- 被extern关键字声明的变量只允许定义一次,但可以在多个文件中声明;
- 只有当extern声明位于函数外部时,变量才可以进行初始化赋值。
常见用法:
Test.cpp 中:
int value = 0; // 定义一个变量 value ,并赋初值为 0
Test1.cpp 中:
extern int value; // 声明变量 value,它在 Test.cpp 中被定义,此处不可赋值
Test2.cpp 中:
extern int value; // 声明变量 value,它在 Test.cpp 中被定义,此处不可赋值