extern关键字在 C 和 C++ 编程语言中有不同的用途,但都与变量的声明和定义有关。
在 C 语言中,extern关键字用于声明一个变量,表示该变量在当前文件之外定义,即在其他文件中定义。这样可以允许在一个文件中使用在其他文件中定义的变量。在 C 中,变量的声明和定义是分开的,变量的声明只是告诉编译器变量的类型和名称,而不会为其分配存储空间。例如
// 在文件 file1.c 中定义了一个全局变量 int globalVar; // 在文件 file2.c 中使用了在 file1.c 中定义的全局变量 extern int globalVar;
// 在类的声明中使用 extern 表示只声明不定义的静态成员变量 class MyClass { public: static int myStaticVar; // 只声明不定义的静态成员变量 }; // 在类的定义所在的文件中进行静态成员变量的定义 int MyClass::myStaticVar;在两种情况下,extern 关键字的作用都是表示变量在其他地方定义,并告诉编译器在链接时在其他文件中查找变量的定义。