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

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

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

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

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


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

extern int i;

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

int i;

int i = 2;


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


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

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

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

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

extern int i = 2;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值