C++理论梳理2——声明&定义(extern和文件间数据共享)
C++支持各个文件独立编译,最后链接。文件之间数据的通信就涉及”一次定义&多次声明“
- 声明使得名字为程序所知,定义负责创建与名字关联的实体。
- 如果多个文件使用同一个变量,就必须把声明和定义分开:变量的定义只能出现在一个文件中,而使用到它的文件必须对其声明。(不可重复定义,但可以多次声明)
- 如何实现:extern可声明但不定义,如果对extern进行显式初始化则会抵消extern的作用:变成定义。
int i;
extern int i;
extern int i=10;