有的人可能一眼看不出来是指针常量还是常量指针,这里教一个小技巧:从左往右读就可以,
比如int * const p;
先是*然后是const,*代表指针,const代表常量,所以是指针常量
指针常量
指针常量:就是一个常量,但是是指针修饰的。
声明了指针常量,说明指针变量不允许修改。
//格式
int * const p;//指针常量
int a=16;
int b=12;
int * const p=&a;//指针常量
*p=9;//操作成功 可以用来修改值
p=&b;//操作错误 禁止改变p指向的变量
常量指针
常量指针:如果在定义指针变量的时候,数据类型前用const修饰,被定义的指针变量就是指向常量的指针变量,指向常量的指针变量称为常量指针。
常量指针本质是指针,并且这个指针是一个指向常量的指针,指针指向的变量的值不可通过该指针修改,但是指针指向的值可以改变。
//格式
const int *p = &a; //常量指针
int a=12;
int b=16;
const int *p=&a; //常量指针
*p=9;//操作错误 禁止修改p指向的值
p=&b;//操作成功 p可以指向另一个变量