C/C++常量指针const * 和指针常量* const
- 常量指针:指向常量的指针,指针指向的值(解引用的值)不可变,指向(指针存储的地址)可变
int a = 10;
int b = 10;
const int * p = &a; // 或者 int const *p = &a;
p = &b;
// *p = 20; 错误
- 指针常量:指针类型的常量,指针指向的值(解引用的值)可变,指向(指针存储的地址)不可变
int a = 10;
int b = 10;
int * const p = &a;
// p = &b;错误
*p = 20;
小结:const修饰的变量=常量,所以 * const p = &a,p是常量,存储的地址不可变了;const * p = &a, 修饰*p,所以解引用的值是常量,不可变。
浙公网安备 33010602011771号