1、看 * 和 const 的排列顺序
int const* p; //const * 即常量指针 指向的量是常量
const int* p; //const * 即常量指针
int* const p; //* const 即指针常量 指针的地址是常量
2、
int const* p; //const修饰的是*p,即*p的内容不可通过p改变,但p不是const,p可以修改,*p不可修改;
const int* p; //同上
int* const p; //const修饰的是p,p是指针,p指向的地址不能修改,p不能修改,但*p可以修改;
3、
常量指针:被指向的对象是常量
指针常量:指针本身是常量(指向地址也不可以变,所以也是常量)
*前面的是对被指向对象的修饰,*后面的是对指针本身的修饰。