【C&C++记录学习】指针和const

const修饰指针有三种情况

  1. const修饰指针 --- 常量指针

  2. const修饰常量 --- 指针常量

  3. const即修饰指针,又修饰常量

1、const修饰指针 --- 常量指针

const修饰的是指针,指针指向可以改,指针指向的值不可以更改

int a = 10;
int b = 10;
		

//const修饰的是指针,指针指向可以改,指针指向的值不可以更改
const int * p1 = &a;
p1 = &b; //正确
// *p1 = 100; // 报错

int const * a; //同上

p1是指向int类型的const对象的指针,称为常量指针。

记:const常量) int *指针) p。const后面是*,所以*p不可用修改,而p可以修改。

2、const修饰常量 --- 指针常量

const修饰的是常量,指针指向不可以改,指针指向的值可以更改

int a = 10;
int b = 10;


//const修饰的是常量,指针指向不可以改,指针指向的值可以更改
int * const p2 = &a;
//p2 = &b; //错误
*p2 = 100; //正确

指针常量顾名思义它就是一个常量,但是是指针修饰的。

记:int *指针const常量) p2。const后面是p2,所以p2不可修改,而*p2可以修改。

3、const即修饰指针,又修饰常量

int a = 10;
int b = 10;


//const既修饰指针又修饰常量
const int * const p3 = &a;
//p3 = &b; //错误
//*p3 = 100; //错误

p3是一个const指针,然后指向了一个int 类型的const对象。称为指向常量的常指针。

扫描二维码关注公众号,回复: 12933950 查看本文章

猜你喜欢

转载自blog.csdn.net/Zhouzi_heng/article/details/112340636
今日推荐