1) 当const修饰指针时,由于const的位置不同,它的修饰对象会有所不同。
2) int *const p2中const修饰p2的值,所以理解为p2的值不可以改变,即p2只能指向固定的一个变量地 址,但可以通过*p2读写这个变量的值。顶层指针表示指针本身是一个常量
3) int const *p1或者const int *p1两种情况中const修饰*p1,所以理解为*p1的值不可以改变,即不 可以给*p1赋值改变p1指向变量的值,但可以通过给p赋值不同的地址改变这个指针指向。
底层指针表示指针所指向的变量是一个常量。