指针变量就是可以变的,常量就是不可以变的
如果一个指针被定义为const型,那就是常量了,是不能修改指针的值的
int *p1; // 定义一个指针变量,可以改变指针所指向的内存位置,例子:
int *p1; int i=1,j=2; p1 = &i; p1= &j;
int i=1;
int* const p2 = &i; // 定义一个指针常量,const指针必须在定义时初始化。
可以通过*p2改变i的值,但是不能把p2指向其它位置了。如:
int i=1,j=2;
int *const p2=&i; // ok
*p2 = 3; // ok, i =3;
p2 = &j; // error ,不能修改p2的值。
指针常量是一个地址,指针变量是用来保存指针常量的一个变量。我们通常说指针是指指针变量。
指针常量是指针所指向的位置不能改变。指针变量,可变。至于如何辨别,在于声明!
指针变量可以改变指针指向的位置,而指针常量初始化之后就不能改变指向的位置