探寻C语言const不同位置的含义

今天复习了C语言const关键字的使用,受益匪浅,因此在此分享,希望能够给大家带来帮助,同时有理解不到位的地方欢迎大佬指正。

1、const位于*左边,如下图

编译会发生报错,原因是const位于*左边,const修饰的是*pa,因此*pa无法更改。

2、const位于*右边,如下图

const位于*右边,pa指向的值可以发生改变,而指针变量无法改变

3、*两边都有const,如下图

指针变量和指向的值都无法改变

因此看一个被const修饰的指针是指针变量无法改变还是指针所指的值无法改变的关键是看*(这里我理解为一种类型,*是一级指针,**是二级指针)和const的相对位置,const右边是什么,什么就不能改变。同理看下图:

const右边是**ppa,因此**ppa无法改变

const右边是*ppa,因此*ppa无法改变

到这里我们就知道了判断const修饰的变量能否改变的方法了,第一次写文章,可能词不达意,感谢大家的观看,以后我会多多改正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值