美文网首页工作生活
常量指针和指针常量

常量指针和指针常量

作者: una_sheng | 来源:发表于2019-07-02 19:35 被阅读0次

    1、常量指针

    定义:只能读取内存中数据,不能修改内存中数据的指针。称为指向常量的指针,简称常量指针

    声明:const int *p;   int const *p;

    2、指针常量

    定义:指针指向的位置不能变,即指针本身是一个常量,但指针指向的内容可以变

    声明:int * const p = &a;

    注:指针常量必须在声明的时候对其初始化,不允许先声明一个指针常量再对其赋值

    3、示例

    int a = 1; 定义变量

    const int b = 2; 定义常量

    const int *ptr1 = &a; 定义常量指针

    int * const ptr2 = &a;定义指针常量

    int *ptr3=&b;  错误, 不能把常量的地址赋给指针变量

    const int* ptr4=&b; 正确,可以把常量的地址赋给常量指针

    *ptr1=3; 错误,间接引用常量指针不可以修改内存中的数据

    *ptr2=4;  正确,间接引用指针常量可以修改内存中的数据

    ptr1=&b;  正确,常量指针可以指向其他变量

    ptr2=&b;  错误,指针常量不可以指向其他变量

    const int * const ptr5=&a;  常量指针常量,即不可以间接引用修改内存数据,也不可以指向别的变量

    *ptr5=5;  错误,不可以间接引用修改内存数据

    ptr5=&b; 错误,不可以修改指向的对象

    相关文章

      网友评论

        本文标题:常量指针和指针常量

        本文链接:https://www.haomeiwen.com/subject/svgthctx.html