const、const和指针的关系

const

const常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。

const和#define的区别:

const常量具有类型,编译器可以进行安全检查;宏定义没有数据类型,只是简单的字符串替换,不能进行安全检查。

  • const默认作用于其左边的东西,否则作用于其右边的东西

const int*
const修饰右边的int,常量整型,*修饰int,指向int的指针。加起来含义是:这个指针指向一个int,int由于被const修饰,所以int对应的数字(指针所指向的内容)不能被改变,但是指针指向的地址可以改变。

int const*
const左边有int,修饰int,和const int*一样。

int* const
const修饰左边的*,因此含义是,指向int的指针,指针的地址被const修饰,不可以改变,但是指针所指向的内容可以改变。

const int* const
第一个const修饰右边紧挨的int, 第二个const修饰左边的*,因此这个指针的地址和内容都是固定的。

int const* const
同上

int const* const*
指向上面那个东西的指针

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值