const与指针的关系

文章目录


前言

关于指针这部分内容,const与指针的关系也非常重要,而这部分也是一个难点,我们要了解清楚const对指针的哪些部分限定,然后通过画图进行分析,下面我将通过一些例题让这部分知识进行巩固


一、const与一级指针的关系

1.第一段代码如下:

int main() {
	int a = 0, b = 0; 
	const int* p = &a;//const 放在指针前面,修饰p的指向内容,不能做修改
	*p = 10;//错误
	p = &b;//正确 
}

我们对代码进行画图分析

 2.第二段代码如下:

int main(){
int *const p=&a; //const放在指针后面,修饰p变量本身,p值不能被修改
*p=10;    //正确
p=&b;    //错误
} 

我们对代码进行画图分析

 二、const与二级指针的关系

第一段代码如下:

int main() {
	const int a = 0;
	const int* p = &a;
	const int** t = &p; //(const只对** t进行了限定)
	** t = &a;//错误
	p = &a;//正确
}

我们对代码进行画图分析

 第二段代码如下:

 

int main(){
    const int a=0;
    const int *p=&a;
    const int *const*t=*p;//const既对**t进行了限定,又对*t进行了限定
    *t=&a;//错误(const对*t进行了修饰,所以不能对*t进行修改,所以这条语句是错误的)
    p=&a;//正确(对于p来说对const对它没有进行一个限定,所以这条语句是正确的)
}
 

 我们对代码进行画图分析

 总结:在学习指针与const的关系这一块内容的时候,我们要知道在使用const修饰指针的时候一定要考虑const所修饰的作用域,这样子想的话问题就会变得简单很多。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

淡蓝色的经典

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值