变量声明与定义的关系:
声明:规定了变量的类型和名字,使得名字为程序所知。一个文件想要使用别处定义的名字则必须包含对哪个名字的声明。
定义:为变量申请空间,还可能为变量附一个初始值。定义负责创建与名字相关的实体。
如果想声明一个变量而非定义它,就在变量名前面添加关键字extern,且不要显式的初始化变量。
eg.
extern int i; // 声明i而不是定义
int j; // 声明并定义j
变量能够多次声明,却只能定义一次。
- 一个const对象,如果想被外部文件使用必须声明为extern