C/C++常量指针const * 和指针常量* const

  1. 常量指针:指向常量的指针,指针指向的值(解引用的值)不可变,指向(指针存储的地址)可变
int a = 10;
int b = 10;
const int * p = &a; // 或者 int const *p = &a;
p = &b;
// *p = 20; 错误
  1. 指针常量:指针类型的常量,指针指向的值(解引用的值)可变,指向(指针存储的地址)不可变
int a = 10;
int b = 10;
int * const p = &a;
// p = &b;错误
*p = 20; 

小结:const修饰的变量=常量,所以 * const p = &a,p是常量,存储的地址不可变了;const * p = &a, 修饰*p,所以解引用的值是常量,不可变。

posted @ 2024-06-04 19:49  万舜  阅读(21)  评论(0)    收藏  举报