C++:变量声明和定义的关系
C++支持分离式编译(separare compilation)机制,该机制允许将程序分割成若干个文件,进行独立编译。
为了达到分离式编译的目的,C++将声明和定义进行了区分。
声明式的名字为程序所知。
定义负责创建于名字关联的实体。
定义除了和声明一样规定了变量的类型和名字,还同时申请了存储空间,也可能为变量赋初始值。
若要声明一个变量,而非定义,则在变量前添加extern,并且不能显示地对其初始化。
1 extern int i; //声明i 2 int j; //定义j 3 extern double pi = 3.1415926; //定义
而一个变量可以多次声明,但只能定义一次。