const int *p = &a;
const修饰的是*p(表示内容为常量),不是p(指针)
指针指向的地址可以改,但指针指向的值不可以改,这里是指向的值不可改是不能通过*p改,但是可以通过a改,
p = &b; (对)
* p = 20 (错)
int * const p = &a;
const修饰的是p(表示指针是常量)
p指向的地址不可以改变,但是该地址内存放的内容可以改变
p = &b; (错)
* p = 20 (对)
const int * const p = &a;
第一个const修饰 *p,第二个const修饰p
表示p指向的地址不可改,该地址内的内容也不可改
原文:https://www.cnblogs.com/IntelligencePointer/p/11523780.html