1. 程式人生 > >指針常量和常量指針

指針常量和常量指針

col 本質 操作 main ons include ios clu 技巧

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;
}

指針常量和常量指針