变量声明和定义的关系
C++语言支持分离式编译(separate compilation),为了支持分离式编译,C++语言将声明和定义区分开。
声明(declaration):
使得名字为程序所知,一个文件如果想使用别处定义的名字,就必须包含对那个名字的声明。
规定了变量的类型和名字
定义(definition):
负责创建和名字相关的实体
除了规定了变量的类型和名字外,还申请了储存空间,会给变量赋初始值
extern int i;//声明i而非定义i
int j;//声明并定义j
//包含显式初始化的声明就是定义
extern double pi = 3.14;//定义
PS:
1.一个变量可以被多次声明,但是只能被一次定义。
2.在多个文件中使用同一个变量,就必须将变量和定义分离。