c语言和c++中的const

先看下面这个题##

关于const用法,以下错误的是

A	int const a = 3; int *p = &a;
B	int a = 3; int const *p = &a;
C	int a = 3; int * const p = &a;
D	const int a = 3; int const &b = a;

选哪个?
这是我学c++时候的一道题,只有过C语言的可能对d选项不太了解。

下面介绍一下c语言(c++)中的const

const是一个关键字,它限定一个变量不允许被改变,产生静态作用,这就相当于给一个变量加上权限,变成一个只读变量,但是不能修改其值。

const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。(百度百科)

下面分条介绍const的具体用法

1.修饰普通变量

const int x = 3;

int型的x被const修饰变成了一个只读变量(有的视频上说变成了一个常量,我认为这种说法不太准确),它的值只能被读取,但是不能被改变,例如

const int x = 3;
x = 5;//这是错误的

这种写法在编译器中会提示错误(不同编译器提示不同)
error: assignment of read-only variable ‘x’
这也证实了上面的说法,它是一个只读变量,而非常量。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值