您的位置:首页 > 编程语言 > C语言/C++

C++中变量的声明与定义的异同

2015-11-10 21:20 411 查看
分离式编译机制允许将程序分割为若干个文件,每个文件可以被独立编译。这种方式必须解决一个问题,即如何在多个文件之间共享代码?(例如一个全局变量,在一个一个文件中被定义,如何在其他文件中被使用?)

为了解决这个问题,即多个文件中使用同一个变量,C++将声明和定义分开:

(1)变量在其中一个文件中定义,且只能在一个变量中定义

(2)在其他需要使用的文件中,必须对该变量进行声明

声明(declaration):使得名字为程序所知,一个文件如果想使用别处定义的的名字,必须要包含那个名字,通过

extern int i;

定义(definition):负责创建与名字关联的实体

int i;

int i = 2;

声明与定义的相同之处:规定了变量的类型和名字

声明与定义的不相同之处:

(1)定义时为变量申请了存储空间,声明不会

(2)定义时,可能为变量赋一个初始值,声明不会

注意:任何包含了显示初始化的声明即成为定义

extern int i = 2;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: