指针常量和常量指针

Posted komean

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了指针常量和常量指针相关的知识,希望对你有一定的参考价值。

1、指针常量

指针常量的本质是一个常量,并且使用指针来修饰它。
在C/C++中,其声明格式为:

int *const p1

2、常量指针

常量指针本质是指针,常量修饰它。
在C/C++中,其声明格式有两种方式:

// 第1种方式
const int *p2;
// 第2种方式
int const *p2;

3、指向常量的指针常量

在C/C++中,其声明格式为:

const int *const p3;

4、读法及被修改的方式相关的技巧

  • *(指针)和 const(常量) 谁在前先读谁
int *const p;   // 指针常量
const int *q;   // 常量指针
  • *(指针)象征着地址,const(常量)象征着内容;谁在前面谁就不允许修改
  • 特别注意:指向常量的常量指针,地址和内容都不能修改

5、案例

(1)指针常量

#include <iostream>
int main()
{
    int a = 12;
    int b = 13;
    // 指针常量
    int *const p1 = &a;
    /* 内容、地址修改操作 */
    *p1 = 13;   // 修改内容,操作正确
    p1 = &b;    // 修改地址,操作错误 
    return 0;
}

(2)常量指针

#include <iostream>
int main()
{
    int a = 12;
    int b = 13;
    // 常量指针
    int const *p2 = &a;
    /* 内容、地址修改操作 */
    *p2 = 13;   // 修改内容,操作错误
    p2 = &b;    // 修改地址,操作正确
    return 0;
}

以上是关于指针常量和常量指针的主要内容,如果未能解决你的问题,请参考以下文章

C++指针常量和常量指针,const修饰函数。

C++指针常量和常量指针,const修饰函数。

理解常量指针与指针常量?

指针常量常量指针和指向常量的常量指针

指针和引用指针常量与常量指针

指针常量和常量指针