今天写代码的时候发现两个问题:
在引用全局变量的过程中,一开始这样引用 extern int print = 2; 结果报 'print' initialized and declared 'extern' 警告,后来把引用和赋值分开写,就没问题
今天一直疑问为什么extern了变量为什么还需要定义,百度了下找到了答案
extern最基本的用法是声明全局变量的。这里需要注意两点,一是“声明”,二是“全局变量”;我们先来分析这两个概念。
声明:声明和定义是有区别的。声明不等于定义,声明只是指出了变量的名字,并没有为其分配存储空间;定义指出变量名字同时为变量分配存储空间,定义包含了声明。例如:
extern int i; //声明变量i,但没分配存储空间,还不能使用。
int i; //定义了变量i,并分配了空间,可以使用。
注意:在程序中一个变量可以声明多次,但只能定义一次。