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 ;//常量指针也是指针常量:指针的指向是不能发生变化的,当前指针所指向目标变量的值也是不能发生变化的。

 

posted @ 2016-02-25 15:54  muzihuan  阅读(135)  评论(0编辑  收藏  举报