const修飾指針的幾種情況

const 修飾指針的幾種情況
一、常量指針

常量指針:指針指向的值不能修改(指針指向地址的具體指不能修改),但是指針的值可以修改(指針指向的地址可以修改)
const 類型 * 指針名 = 地址
例如: const int * p1 = &a;
此時 指針p1指向的值不能修改, 但是該指針可以指向其他的地址 

實例代碼

        int main()
    {
        int a = 3;
        int b = 5;
        const int * p1 = &a;
        cout<<"*p1==" <<*p1<<endl;
        p1 = &b;
        cout<<"*p1==" <<*p1<<endl;
        return 0;
    } 

    打印結果是 3
              5

二、指針常量

指針常量: 指針的值不能修改(指針只能指向一個地址),但是指針指向的值可以修改(雖然指針只能指向一個地址,不能修改指針的值但是可以修改該地址的值)
類型 * const 指針名
例如: int * const p1 = &a;
此時 指針p1只能指向a 不能在指向其他的地址 但是p1可以修改a的值

實例代碼

    int main()
{
    int a = 3;
    int * const p1 = &a;
    cout<<"*p1=="<<*p1<<endl;
    *p1 = 4;
    cout<<"*p1=="<<*p1<<endl;
    cout<<"a=="<<a<<endl;
}

打印結果是:
    *p1==3
    *p1==4
    a==4

三、指向整型常量的常量指針

指向整型常量的常量指針
const 類型 * const 指針名 
例如: const int * const p1 = &a;
p1指向的地址不能修改 , 指向值也不能修改 (比如上面的代碼P1只能指向a而且不能修改a的值)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章