zoukankan      html  css  js  c++  java
  • 常量指针、指针常量

    * (指针)和 const(常量) 谁在前先读谁 ;*象征着地址,const象征着内容; 谁在前面谁就不允许改变。
        int a =3; 
        int b = 1; 
        int c = 2; 
        int const *p1 = &b;                //const 在前,定义为常量指针 ;int 在前指向的int类型值内容不能变
        int *const p2 = &c;                //*在前,定义为指针常量  ;int* 在前指针不能变,永远指向c的地址

    常量指针p1:指向的地址可以变,但内容不可以重新赋值,内容的改变只能通过修改地址指向后变换。   

        p1 = &a是正确的,但 *p1 = a是错误的。


    指针常量p2:指向的地址不可以重新赋值,但内容可以改变,必须初始化,地址跟随一生。
        p2= &a是错误的,而*p2 = a 是正确的。


    int a=20;
    const int* pa=&a;       //常量指针,a的值不能再更改;相当于上面的 int const *pa = &a;
    常量指针所指向的内容是不可修改的
    int * const pb=&a;      //指针常量,pb 不能更改,再去指向其它地址
    因为指针常量是一个常量,在声明的时候一定要给它赋初始值
    虽然指针常量的值不能变,可是它指向的对象是可变的

  • 相关阅读:
    三周#学习进度总结
    四则运算(修改版)
    是否需要有代码规范?
    结对项目:代码复审+PSP
    二周#学习进度总结
    GitHub注册流程(中英对比)
    四则运算:我的设计和设想(未完成版)
    Spring4总结
    Hibernate5总结
    Struts2总结
  • 原文地址:https://www.cnblogs.com/meihao1203/p/6753820.html
Copyright © 2011-2022 走看看