char *p;
p为指针变量,p值可以改变,即p可以指向不同地址。
char a[10];
char * const p=a;
p为指针常量,p值不可改变,即p只能指向声明时初始化的地址。若声明时未初始化也不能赋值。
指针常量是一个空间static的。指针变量就是变量。可以重新赋值。
用const关键字声明的变量叫常量,比如声明一个无类型常量指针:void const *null = 0; 表示声明了一个常量指针null,指针里的值指向地址为0的内存。
区别:常量只能在声明的时候赋值,变量可在任何时候赋值。对于指针来说,就是常量指针指向的地址从声明完之后就再也改变不了了。
指针指向一个地址,常量是表示这个地址是确定的,变量是指地址值不确定
一个是常量一个是变量。
变量就是用来存储其它数据的,包括常量。
但是常量就只能代表他本身自己。
常量不能赋值给它,但是变量却可以。
希望对你理解有所帮助!