指向常量的指针和常量指针学习

1. 指向常量的指针const int * p = &number 、int const *p1

#include <stdio.h>

int main(){

  const int * p = NULL;
  int number = 1;
  p = &number;
  //*p = 2;      //通过指针不能修改指向的值
  number =2; //通过变量可以修改值
  printf("%d", *p);  //输出结果2

  int number_2 = 3;
  p = &number_2;  //指针可以重新指向其他变量
  printf("%d", *p);

}

2. 常量指针 int  *const p

指针初始化完成后,不能在指向其他的指针。

1   int number_1 = 1;
2   int number_2 = 2;
3   int *const p = &number_1;
4   //p = &number_2;  //编译错误,不能指向其他指针变量
5   *p = 3;  //可以修改指针指向空间的值

3. const int *const p、int const *const p

1   int const *const p2 = &number_2;
2   p2 = &number_1; //编译错误,不能重新指向其他地址
3   *p2 =4; //不能通过指针修改变量的值

 

posted @ 2017-11-02 12:39  遇逆境、处之泰然  阅读(163)  评论(0编辑  收藏  举报