const与指针
区分指针常量,常量指针
const int a ;
||
int const a ;将变量a常量化
const int *p ;
||
int const *p ;//常量指针:指针的指向可以变化,当前指针所指向目标变量的值是不能发生变化的
eg: int i = 1 ;
const int *p = &i ;
那么通过(*p) = 2 ;就是错误的,但是可以i = 2 ;const限制的是(*p)而不是i ,如果定义的是const int i = 1 ;那么就没办法改了
int * const p ;//指针常量:指针的指向是不能发生变化的,当前指针所指向目标变量的值是可以发生变化的;
eg: int i = 10 ;
int j = 100 ;
int * const p = &i ;
那么(*p)= 100;就是正确的, p = &j;//就是错误的
const int * const p ;//常量指针也是指针常量:指针的指向是不能发生变化的,当前指针所指向目标变量的值也是不能发生变化的。