const的用法,放*左边,与*右边区别

接下来看具体内容:

int main()
{
int a = 10;
a = 20;
}

这段代码编译时不会出错的.

但是如果向前面加const,则程序会报错


如果有const 修饰,还能不能改变a的值呢?


上面这张图片说明const修饰的变量,不能直接修改,但是可以通过指针改变。但是这样不安全,因为本来a被const修饰,不能被改,可是现在却被通过指针改变了,那么该如何使a通过指针也改变不了呢。继续往下看


上图可以看出给int *p=&a前面加上const,*p不能被改,也就是p所指向的内容,也就是a不能被改。接下来我们看下指针p能不能被改?


可以看出p可以被改,我们得出一个结论,const放在*左边表示指针所指向内容,不能通过指针改变。

接下来我们分析const 放*右边的情况



看上面两张图片可得出const放*右边,表示指针变量本身不能被修改。

结论:const放*右边,表示指针变量本身不能被修改

            const放在*左边表示指针所指向内容,不能通过指针改变。(这里的左边可以int 之前,也可以是int之后*之前,总之只要是*左边即可)



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值