int a;
const int *p1 = &a;//p1是指向常量的指针
int b;
p1 = &b;//正确,p1本身的值可以改变
*p1 = 1;//编译出错,不能通过p1改变所指对象
int a;
int *const p2 = &a;
p2 = &b;//错误,p2是指针常量,值不能改变
int a;
const int *p1 = &a;//p1是指向常量的指针
int b;
p1 = &b;//正确,p1本身的值可以改变
*p1 = 1;//编译出错,不能通过p1改变所指对象
int a;
int *const p2 = &a;
p2 = &b;//错误,p2是指针常量,值不能改变