声明和定义

本文详细介绍了C++中变量的声明与定义的区别,包括如何分配存储空间、初始化值及作用域范围。同时,解释了extern关键字的作用,强调了在多个文件中使用变量时需进行声明与定义的分离。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了让多个文件访问相同的变量,C++区分了声明和定义

1.变量的定义用于为变量分配存储空间,还可以为变量指定初始值,在一个程序,变量有且仅有一个定义

2.声明用于想程序表明变量的类型和名字

定义也是声明 :当定义变量时我们声明了它的类型和名字,只有定义才分配存储空间。

可以通过使用extern关键字声明变量名而不定义它,不分配存储空间。它只说明变量定义在程序的其他地方。程序中变量可以声明多次,但只能定义一次。

extern int i;  //声明但不定义

int i;  //声明并定义

extern double pi = 3.14.15  //即使声明标记为extern,只能当作定义。只有当extern声明位于函数外部时,才可以含有初始化式。


在C++中,变量必须且仅能定义一次,而且在使用变量之前必须定义或声明变量。

任何在多个文件中使用的变量都需要有与定义分离的声明。在这种情况下,一个文件含有变量的定义,使用该变量的其他文件则包含该变量的声明。


--------------------------------------------------------------------------------------------------

一般,名字从其声明点开始直到其声明所在的作用域结束处都是可见的。C++中,大多数作用域使用花括号来界定的。

当局部变量与全局变量名相同时,在局部范围内,局部变量屏蔽了全局变量。


通常把一个对象定义在它首次使用的地方是一个很好的办法。

放置声明的一个约束是,变量只在从其定义处开始到该声明所在的作用域的结束处才可以访问。必须在使用该变量的最外层作用域里面或之前定义变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值