extern关键字是什么意思?

don*_*ile 56 c objective-c extern

什么是extern关键字是什么意思?我已经在函数声明面前看过了

extern void DoFoo ...
Run Code Online (Sandbox Code Playgroud)

Rom*_*eau 41

extern关键字声明一个变量或函数,并指定它具有外部链接(其名称可以从其定义的文件以外的文件中看到).修改变量时,extern指定变量具有静态持续时间(在程序开始时分配,在程序结束时分配).变量或函数可以在另一个源文件中定义,或者稍后在同一文件中定义.默认情况下,文件范围内的变量和函数声明是外部的.

您可以在此处找到更完整的描述.


CB *_*ley 41

extern给出一个名称外部链接.这意味着可以通过程序中其他翻译单元的名称访问对象或函数.对于函数,这是任何情况下的默认链接,因此其用法(在此上下文中)通常是多余的.