谈const---C与C++中const的区别

1:
在C++中const对默认存储类型有影响。const修饰的全局变量链接性为内部性的,即C++全局const定义就像使用了static说明符一样,这样我们在C++可以在头文件定义const 变量。
但是C语言不行,不能在头文件中定义 ,除非使用static修饰, 否则会报错出现多个定义,C语言中const 修饰的全局变量,跟普通的全局变量使用一样,唯一的区别是const变量不能修改值
结论:在头文件中,C语言中static const 修饰的变量 与 C++语言中单独const修饰的变量效果是一样的


2:
C++想要取消const 全局变量的内部性的,变成共享的,可以使用extern修饰来取消链接的内部性,在这种情况下所有使用该const变量的地方(定义与所有的声明)都要添加extern关键字,且只有一个地方即定义处进行初始化,这样const 变量就成了共享变量。
c语言中const变量没有这种限制,跟正常的全局变量使用方法一样,即定义处可以不使用extern 关键字,也可以使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个专研技术的小蜜蜂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值