1.常量指针:指针本身是常量,它本身的数据不可变化。也就是它指向的变量的地址不可变化,是个确定的地址。
表示方式有:
int a = 10; int *const p = &a;
int b = 20; constexpr int *p = &b;
还有使用 同义词的表示方法里的情况:
2.指向常量的指针:顾名思义,就是它的数据对应的变量的数据是个常量。
方式:
int a = 10; const int *p = &a;
int b = 20; int const *p = &b;等方式。
尤其是第二种,更容易让人误解,理解成是对指针的修饰。
p0 没有报错,p1报错了。这说明p0的const修饰的是p0指向的对象,而不是指针p0。