const修饰变量的总结

const修饰一般变量的时候:

int const number =2   或者   const int number = 2;

修饰指针的时候,反正我每次都搞不清,但是这次却永远记住了!

修饰指针的时候,有如下几种情况:

const int *p   //p可变,但是p指向的内容不可变

int const * p //p可变,但是p指向的内容不可变

 

int * const p  //p不可变,p指向的对象可变

 

const int *const p  //指针p和p指向的对象都不可变

 

如何记忆这东西呢,看的人都晕头转向,有如下方法:

(此方法在陈正冲老师的总结中看到,可以拜读他的《C语言深度剖析(第二版)》)

const int * p    此时可以把int划掉,留下的就是const *p,p是指针,而*p表示的是指针指向的对象,不可变

 

int const *p     同上

 

int * const p   const修饰的是p,p不可变,p指向的对象可变

 

const int * const p;前一个const修饰*p, 后一个const修饰p指针,指针p和p指向的对象都不可改变。

 

总结起来就是离谁近,靠近谁,就修饰谁。很好的记忆方法。

 

const在修饰函数的参数时,也会有如下一个知识点:

const修饰函数参数的时候,原因是不希望这个参数值在函数体内有变化,被随意修改。故而用const修饰,比如:

void func(const int *p)   目的是告诉编译器,在函数体内*p的内容不能改变。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

国企打工人

随缘吧打赏与否还是会坚持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值