C++中const修饰指针的三种情况

131 阅读1分钟
#include<iostream>
using namespace std;

/*
const修饰指针的三种情况:
1. const修饰指针 --- 常量指针,特点:指针的指向可以修改,但是指针指向的值不可以改
2. const修饰常量-- 指针常量,特点:指针的指向不可以改,指针指向的值可以改
3. const即修饰指针,又修饰常量 特点:指针指向和指针指向的值都不可改

*/

int main(){
    
    //1. const修饰指针
    int a = 10;
    int b = 20;

    const int * p = &a;
    //*p = 20;  错误
    p = &b;
    //2. const修饰常量
    int * const p2 = &a;
    *p2 = 100;
    //p2 = &b;  错误

    //3. const即修饰指针
    const int * const p3 = &a;

    //*p3 = 100;  错误
    //P3 = &b;    错误
    

    system("pause");
    return 0;
}