c++学习:2.变量声明和定义的关系

        为了支持分离式编译,c++语言将声明和定义区分开来。声明只有名字并无实体,定义创建于声明名字相关的实体。因此声明和定义最重要的区别:声明不申请存储空间,定义申请存储空间。变量能且只能被定义一次,但是可以被多次声明。注意这里说的变量定义和变量赋值是分开的,例如:

int i=3;//定义
int i=4;//错误,重复定义
i=4;//正确,对i赋值

        如果只想声明一个变量而并非定义它,可以在变量名字之前添加extern,而且不要现实地初始化变量:

extern int i;//声明i
int j;//声明并定义j

        声明和定义的区别看起来并不大,但实际上很重要。例如,如果要在多个文件中使用同一变量,就必须将声明和定义分离。此时,变量的定义必须且只能出现在一个文件中(赋值无限制),其他利用该变量的文件必须对其进行声明(extern),但不能重复定义。

        因此,最好在第一次使用变量时再定义它。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值