const关键字

const关键字在C语言中用来修饰变量,表示该变量(对象)是常量。

const修饰的变量理论上不应该再被修改,但是非要去修改的话也不是不可以,但是尽量别瞎搞


const修饰普通变量

无论是

const int a;
还是
int const a;
修饰的主角都只有一个:a,

所以const修饰普通变量没什么可混淆的,都是指该普通变量是常量


const修饰指针

一般有4种形式:(前方高能,请深呼吸)

①  const int *p;

②  int const *p;

③  int * const p;

④  const int * const p;

如果看下来还保持清醒的话,请退出该页面,这篇文章到此结束谢谢。


别看这些看起来有些相似,其实核心就是两点

1)指针p涉及的两个变量:

1️⃣  指针变量p本身      ( p )

2️⃣  p指向的那个变量   (*p)

2)一个const关键字 只能够修饰一个变量


现在我们再来看刚刚的4个表达式,其中:

① 和 ② 等价:

没有分辨出来吗?那把*p用()括起来看看,是不是和const修饰普通变量a时的情况一模一样,

此时const修饰的是*p,所以*p是常量,即p指向的对象是常量

而p本身没有被修饰,所以p可变

③ const修饰的是p,

所以p是常量 不可变,

p指向的对象没有被修饰,是可变的

④ 是前面两种情况的结合

有两个const,一个修饰p,一个修饰*p



就是这样,关键就是那两点,弄清楚了妈妈再也不怕你分不清了。




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值