【C++】变量(四) 变量的声明和定义

C++程序通常是由很多个file组成。为了让每个file能够使用同一个变量,C++特意把变量的声明和定义区别开来。

变量的定义,是指为变量分配内存,或者有时也为其设定一个初始值的操作。在程序中,同一个变量只能定义一次。

变量的声明,是让程序知晓变量的类型和名称。其实,变量的定义也是一种变量的声明的:当我们定义一个变量时,我们需要声明它的类型和名字。我们可以通过关键词extern来声明一个未定义的变量。当然,变量的声明也不仅仅是在变量类型和名字前面加上一个extern那样的定义。就如下面:

extern int i; //declares but not define i

int i;        //declares and define i

 通过extern来声明的变量,不是对变量的定义,也不会为变量分配内存。事实上,它的使用要求在程序的其他地方已经对该变量进行了定义。在一个完整的程序中,同一个变量可以声明多次,但是只能定义一次。

 在声明变量时,可能会为变量设定一个初始值,但是这种操作会被认定为变量的定义,因为只有定义才可以为变量分配内存。那么,这个初始化程序必须拥有内存可以初始化。而且,一旦使用了初始化程序,不管这个声明里存不存在extern,这次操作都是变量的定义。譬如:

extern double pi=3.1416;  //definition

 不管有没有使用extern,这个语句都定义了pi,内存被分配给pi,并且初始值是3.1416。不过,需要注意的是,只有在函数外使用初始化操作的extern声明,才是合法的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值