C++:变量声明和定义的关系

C++支持分离式编译(separare compilation)机制,该机制允许将程序分割成若干个文件,进行独立编译。

为了达到分离式编译的目的,C++将声明和定义进行了区分。

声明式的名字为程序所知。

定义负责创建于名字关联的实体。

定义除了和声明一样规定了变量的类型和名字,还同时申请了存储空间,也可能为变量赋初始值。

若要声明一个变量,而非定义,则在变量前添加extern,并且不能显示地对其初始化。

1 extern int i;  //声明i
2 int j;  //定义j
3 extern double pi = 3.1415926;  //定义

一个变量可以多次声明,但只能定义一次

原文地址:https://www.cnblogs.com/OKDA/p/13618436.html