c/c++言语中有许多当地要用到extern,可是假如没有真实的了解它的含义,会给编程带来很大的费事,为了使咱们少走弯路,特祥细的阐明一下。
关于比较小的程序,一般只要一个c文件和一个头文件,全局变量咱们通常会直接界说在c文件中,在程序之前加int i界说。假如要在头文件中界说有以下两种办法:用extern来声明:extern int i;这一句仅仅对变量i进行声明,在c文件的程序之前有必要加上int i进行界说。extern int i=0;这一句声明和界说都做了。
关于大一点的程序,有许多c文件和头文件,这个时分全局变量就有必要在头文件中声明(不需求初始化),然后在一个c文件中界说(该初始化的要初始化)。假如在头文件中界说,则编译的时分会呈现重复界说的过错。假如只要头文件中声明就会呈现没有界说有正告。
呈现上述过错则是由于变量k重复界说,把你的头文件中的变量界说前加extern(仅仅变量声明不必初始化),再在某一个你要调用该变量的c文件的程序之前再界说(留意第一个调用的c文件要担任顺便初始化该变量,其他调用的c文件就不需求初始化进程啦)一下就可以了。