本文主要是介绍extern的用法1.声明2.链接,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.extern可以置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义
2.extern也可用来进行链接指定。
对于变量来说。
extern int a;//声明一个全局变量a
int a; //定义一个全局变量a
extern int a =0 ;//定义一个全局变量a 并给初值。一旦给予赋值,一定是定义,定义才会分配存储空间。
int a =0;//定义一个全局变量a,并给初值,
声明之后你不能直接使用这个变量,需要定义之后才能使用。
第四个等于第三个,都是定义一个可以被外部使用的全局变量,并给初值。
糊涂了吧,他们看上去可真像。但是 定义只能出现在一处。也就是说,不管是int a;还是int a=0;都只能出现一次,而那个 extern int a可以出现很多次。
当你要引用一个全局变量的时候,你就要声明extern int a;这时候extern不能省略,因为省略了,就变成int a;这是一个定义,不是声明。
链接
extern的原理很简单,就是告诉 编译器 :“你现在编译的文件中,有一个标识符虽然没有在本文件中定义,但是它是在别的文件中定义的 全局变量 ,你要放行!”
如我们在A.cpp中写
extern int i;//声明变量i在其他文件中已经定义了。
int main()
{
i=100;//将i初始化。
}
B文件里面有
int i;//定义了全局变量i
这篇关于extern的用法1.声明2.链接的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!