const和指针

const:我想在小星星左边!

指针:呃呃呃呃,那我这个房东很憋屈啊,虽然我有很多套房子可以挑着住,可是吧我那个讨厌的租客他会一直跟着我的...改也改不掉。

const:那我在小星星右边吧!

指针:我考虑考虑。虽然租客可以天天换,可是我要在一套房子里住到天荒地老了。这好像也划不来...

int main()
{
    int price = 10;
	const int* p = &price;
	p = 0x11223344;//我可以随便换房子啦!海景房我来啦~嘿嘿
	*p = 20;//err 不可以随意改房间的租金了

	int price = 10;
	int* const p = &price;
	*p = 200;//我可以随意修改租金,日入过万不是梦
	p = 0x11223344;//err 我不可以换房子

	return 0;
}

总结:

1、const在*左边,修饰的是*p,即限制了指针,表示的是指针所指向的内容不能通过指针p修改,意思就是通过指针找到的内容绝对不可以变。可以改变p所指向的地址

2、const在*右边,修饰的是p指针变量,即限制了指针变量,表示的是指针变量本身不能修改,但是指针所指向的内容可以通过指针p来修改。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值