const修饰指针
1、const修饰指针(常量指针)
int* const p = &a;
const修饰p,指针的指向可变,但是指针指向的值不可变。即p可变,*p不可变。
2、const修饰常量(指针常量)
int* const p = &a;
const修饰*p,指针的指向不可变,但是指针指向的值可变。即p不可变,p值可变。
PS: 这儿p是不可变的,但是p是可变的,就是p指向的内存单元或者说变量是可以变的,但是p指向谁,谁的值就不可变。
不可变指的是不能用*p改变a的值,但是a自己或者别的指针还是可以修改a的值
3、const修饰指针和常量
const int* const p = &a;
*p和p都被const修饰了,所以指针的指向和指针指向的值都不可变。