0
点赞
收藏
分享

微信扫一扫

图解C/C++中const修饰指针的三种情况

生活记录馆 2022-04-23 阅读 61
c语言c++

我们先来看一下const在修饰指针时有哪三种情况?

1、常量指针 

友情提示一下:图中的红色框和红色箭头表示不可修改的;黑色是可修改的 

 2、指针常量

相对于常量指针来说,指针常量只是const的位置发生了改变

3、 指针常量还是常量指针?

4、 const修饰指针和常量

 

 

 简单来说,就是const修饰哪一个部分,我们就无法对那个部分进行操作(修改)

5、简单的验证

 

 6、验证的源代码

源代码如下,大家可自取去编译器上进行验证

#include<iostream>
using namespace std;

int main()
{
	//1、const修饰指针	常量指针
	int a = 10;
	int b = 10;

	const int* p = &a;
	//指针指向的值不可以改变,指针的指向可以改变
	*p = 20;	//错误
	p = &a;		//正确

	//2、const修饰常量	指针常量
	//指针的指向不可以改变,指针指向的值可以改变
	int* const p2 = &a;
	*p2 = 100;
	p2 = &b;	//错误

	//3、const修饰指针和常量
	const int* const p3 = &a;
	//指针的指向 和 指针指向的值 都不可以改
	*p3 = 100;	//错误
	p3 = &b;	//错误

	return 0;
}

 


后记:

●由于作者水平有限,文章难免存在谬误之处,敬请读者斧正,俚语成篇,恳望指教!

                                                               ——By 作者:天空の乌托邦

举报

相关推荐

0 条评论