一,

常量指针,顾名思义,就是指向常量的指针,指针指向的内容不能改变,但是地址可以改变;

声明方式:

const 类型 *指针常量名=&变量名;

如:const  int k=5,t=8;

const int *p=&k;

*p = 9; //指向的是常量,不可以赋值

p = &s;  //可以指向其他地址

二,

指针常量,即指针本身是个常量,是指针指向的位置不能改变,但是指向的对象本身是可以改变的。

声明方式:

指针类型 *const 指针名 = &变量名;

如:int a = 5, b = 6;

int *const p = &a;

*p = 8;  //可以的

p = &b;  //不可以,不能改变其指向的地址

指针常量的值是指针,因为这个值是常量,所以不能被赋值,也就是说必须还是指向变量a的地址。