指针常量:int* const p const用于修饰p,所以p是常量,即指针指向的地址不能变,但是指针指向地址里面的数据可以变。
常量指针:const int *q const用于修饰(int *q),所以*q是int型常量,即指针指向地址里面的数据是不变的,但是指针的指向是可以变的。
记法:读法是从前往后读。const在前,*在后,就是常量指针;*在前,const在后就是指针常量。作用是看const修饰范围(后面是接的什么)
指针常量和常量指针的用法:
int a=10;
int b=20;
int* const p=&a;
const int* q=&b;
*p=b;//p是常量,所以p不能变,只有*p能变
q=&a;//*q是常量,*q不能变,q能变