const关键字:
int const *p和const int *p的功能一样,都是p指向的对象不能通过p指针改变,p可以变;即*p为常量,不可以改变,而指针p为变量可以更改。
int a=1; int b=2; int const *p1; p1=&a; p=&b; //可行 *p1=3; // 不可以
int* const p声明中p不可变,而p指向的对象可以改变,这种指针在定义是必须进行初始化,初始化时指向相应的对象后,就不能更改指向的对象。
int a=1; int b=2; int * const p2=&a; p2=&b; //不可行 *p2=3; //可行 a=3
const int *const p声明时 p和p指向的对象均不可变。