const的用法(C語言)

 const :限定變量的權限,變成只讀(不能做左值)
 一、基本數據類型對於const透明
*二、const修飾它的直接右邊  
 三、權限可以同等或者縮小傳遞,不能放大傳遞

注:(1)左值:寫權限
        (2)右值:讀權限

一、

#include<stdio.h>

int main()
{
    int a;
    a = 10;//左值,放在"="符號左邊就是左值,其它情況都是右值
    int b = a;
    const int ca = 10;//限定寫權限,變成只讀
    b = ca;//ok
    //ca = 20;//error
    //const int cb;//error
    //ca = 10;//error
    int const cb = 20;
    //cb = 30;
    b = cb;

    return 0;
}

二、

#include<stdio.h>
int main()
{
    int a = 10;
    int b = 20;
    int *p = &a;
    p = &b;
    int *q = &a;
    q = p;
    *p = 200;
    b = *p;
    const int *p1 = &a;
    p1 = &b;//ok
    //*p1 = 1000;//error
    int const *p2 = &a;//p2完全等同p1
    p2=&b;
    //*p2=2000;//error

    return 0;
}

三、

#include<stdio.h>
int main()
{
    int a = 10;
    int b = 20;
    const int ca = 10;
    int *p1 = &a;
    *p1 = 20;
    p1 = &b;
    //int *p2 = &ca;//error
    const int *p3 = &a;
    const int *p4 = &ca;
    //*p4 = &ca;//error
    int *const p5 = &a;
    //int *const p6 = &ca;//error

    return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章