extern的详解

extern的详解:extern是c语言中的一个关键字,一般用在变量名前或函数名前,作用是用来说明此变量/函数是在别处定义的,要在此处引用。

如果在所有函数之外定义的变量没有指定其存储类别,那么它就是一个外部变量,它的作用域是从它的定义点到本文件的末尾。在单个源文件中的确是这样,如果有多个源文件,全局变量的作用范围不是从变量定义处到该文件结尾,而是在其他文件中也有效。

但是如果要在定义点之前或者其他文件中使用它,那就需要使用关键字extern对其声明,注意不是定义,编译器并不为其分配内存。如果在声明的时候给变量赋值,那么就和去掉extern直接定义变量赋值是等价的。如果在所有函数之外定义的变量没有指定其存储类别,那么它就是一个外部变量,意思就是这里的int a等价于extern int a,相当于声明,声明是可以多次的。

双语例句

1、Surprising as it may sound,typedef just like extern,mutable,static and register.

这种说法是不是有点令人惊讶,typedef就像extern,mutable,static,和register一样,是一个存储类关键字。

2、No matter where you declare a variable or function,the extern keyword allows other files to use it without knowing where it was defined.

不管在哪里声明一个变量或函数,extern关键字都允许其他文件在不确定其定义位置的情况下使用该文件。

3、You need to apply the stereotype only if you want to set the modifiers,such as new, override,extern,virtual,protected internal,and unsafe.

如果您想要设置修饰符时,例如new、override、extern、virtual、protected internal,和unsafe,您需要应用原型。

以上内容参考:百度百科—extern