美文网首页C++C++
C++ 指针常量、常量指针和常指针常量

C++ 指针常量、常量指针和常指针常量

作者: MichaelLedger | 来源:发表于2018-07-20 11:08 被阅读5次
    int a = 2;
    int b = 3;
    int *const p1 = &a;//指针常量:被定义的指针变量就变成了一个指针类型的常变量,指针不可以变,指针指向的内容可以变,需要在定义的时候给定初值
    int const *p2 = &b;//常量指针:指向常量的指针变量,指针可以变,指针指向的内容不可以变,等价于const int *p2 = &b;
    int const *const p3 = &a;//常指针常量: 指针不能改变,指针指向的值也不能改变,等价于const int *const p3 = &a;
    
    // Error: Cannot assign to variable 'p3' with const-qualified type 'const int *const'
    // p3 = &a;
    
    // Error: Read-only variable is not assignable
    //*p3 = a;
    
    NSLog(@"%d,%d,%d,%d", a, b, *p1, *p2);
    NSLog(@"%p,%p,%p,%p", &a, &b, p1, p2);
    NSLog(@"p3: %d, %p", *p3, p3);
    
    // Error: Cannot assign to variable 'p1' with const-qualified type 'int *const'
    // p1 = &b;
    *p1 = b;
    
    // Error: Read-only variable is not assignable
    // *p2 = a;
    p2 = &a;
    
    NSLog(@"%d,%d,%d,%d", a, b, *p1, *p2);
    NSLog(@"%p,%p,%p,%p", &a, &b, p1, p2);
    NSLog(@"p3: %d, %p", *p3, p3);
    
    /*
     Log:
     2018-07-20 10:55:13.483435+0800 Test[23866:178166] 2,3,2,3
     2018-07-20 10:55:13.483684+0800 Test[23866:178166] 0x7ffeee4ada9c,0x7ffeee4ada98,0x7ffeee4ada9c,0x7ffeee4ada98
     2018-07-20 10:55:13.483834+0800 Test[23866:178166] p3: 2, 0x7ffeee4ada9c
     2018-07-20 10:55:13.484039+0800 Test[23866:178166] 3,3,3,3
     2018-07-20 10:55:13.484224+0800 Test[23866:178166] 0x7ffeee4ada9c,0x7ffeee4ada98,0x7ffeee4ada9c,0x7ffeee4ada9c
     2018-07-20 10:55:13.484377+0800 Test[23866:178166] p3: 3, 0x7ffeee4ada9c
     */

参考:
C++ 指针常量、常量指针和常指针常量

相关文章

  • C++ 指针常量、常量指针和常指针常量

    参考:C++ 指针常量、常量指针和常指针常量

  • 5.const与指针

    1.const修饰指针-常量指针 2.const修饰常量-指针常量 3.const修饰指针和常量 代码如下

  • 指针,引用和常量

    常量指针和指针常量 常量指针是指向常量的指针,如:const int* p其中p是一个指针,指向了一个常量,也就是...

  • 2019-05-22 常量与指针,数组与指针

    常量与指针,数组与指针 常量与指针 常量与指针的关系很容易弄混,为此我专门在此记录一下。 常量指针 指向常量的指针...

  • C++指针常量和常量指针

    《Effective C++》条款三中写道: 如果关键字const出现在星号左侧,表示被指物是常量;如果出现在星号...

  • 常量指针和指针常量

    const关键字用来定义常量,如果一个变量被const修饰,那么他的值就不能被改变。 常量指针 (常量指针是指针指...

  • 常量指针和指针常量

    使用指针必须清楚,指针不是地址,是用来存放地址的,指针本身也是有地址的! 指针常量:不能通过指针修改值 const...

  • 指针常量和常量指针

    参考博客: https://blog.csdn.net/xingjiarong/article/details/4...

  • 指针常量和常量指针

    指针常量 指针常量指的是这个指针本身是常量,一旦被初始化,后面不能够再修改这个指针, 比如: 一般而言,const...

  • 指针常量和常量指针

    指针常量:(指针变量前加const) int *const p;指针本身是一个常量。在声明的时候初始化,里面的值(...

网友评论

    本文标题:C++ 指针常量、常量指针和常指针常量

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