C/C++ const和指针记忆口诀

一句话,’*‘和变量名p,是一对情感松散的情侣,只要const卡在’*'和p中间,const就能成为第三者,和p在一起.否则,const都是路人.
如 : int *p, int* p,都可以
角色:int(透明人=空气),*(男人),p(女人), 注:*和p是情侣
const:厉害了,就是身边人,可以是路人,可以是第三者,可以零个,一个,两个
1)const int *p -> const 是路人甲,const修饰*p,*p = 2不可用
2)int const *p -> const 同1)
3)int* const p,const 成功拆散这对情侣,const修饰p,p = &b不可用
4)int const * const p 两个const,给脸了,p脚踏两船, p和const在一起,*和p继续在一起的,p = &b不可用,*p = 2也不可用.
5)const int* const p 同4)

int const *p;
const 修饰*p,不可通过指针修改指向的空间*p,*p = 2,是错误的,但是可以改变指向,如p = &b;

const int *p;
const 修饰*p,不可通过指针修改指向的空间*p

int* const p = &a;
const 只能修饰p,无法修饰到*p,即指针指向不可变,但是可以通过*p修改指向空间的内容,如*p = 2;, 此时a的值发生改变,但是不能p = &b;改变指向

const int* const p = &a;
第一个const 修饰p,第二个const修饰p,此时,不能修改p的指向,也不能通过p来修改指向的空间

	int a = 10,b = 20;

	const int* p = &a; // 指向可变,指针不可修改指向的空间
	// *p = 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值