extern 内部变量 全局变量 外部变量

内部变量局部    函数内部定义的变量

外部变量全局变量  函数外部定义的变量  

外部变量  全局变量的存储方式为静态存储

生命周期为程序的整个生命周期

一种情况全局变量的定义不在文件的开头 

如果全局变量不在文件的开头定义,有效的作用范围将只限于其定义处到文件结束。如果在定义点之前的函数想引用该全局变量,则应该在引用之前用关键字 extern 对该变量作“外部变量声明”,表示该变量是一个已经定义的外部变量。有了此声明,就可以从“声明”处起,合法地使用该外部变量。

定义全局变量前引用使用它  需要   做引用外部声明

“外部变量声明”,以扩展全局变量的作用域

变量定义之前要使用该变量,则应在使用之前加 extern 声明变量,使作用域扩展到从声明开始到本文件结束

2.整个工程由多个源文件组成,在一个源文件中想引用另外一个源文件中已经定义的外部变量,同样只需在引用变量的文件中用 extern 关键字加以声明即可

外部变量声明

一个源文件  想引用另一个源文件已经定义的外部变量

只需在引用外部变量的文件中用关键字加以说明

工程多个源文件   一个源文件  引用另外一个源文件

定义好的外部全局变量

对于模块化的程序文件,可在其文件中预先留好外部变量的接口,也就是只采用 extern 声明变量,而不定义变量

模块化程序 文件中预先留好外部变量接口extern 声明变量 不定义变量

原文地址:https://www.cnblogs.com/ruiy/p/15501367.html