【C語言筆記】<二十八>const關(guān)鍵字

int main(int argc, const char * argv[]) {
   
    /*
     如果const寫在指針類型的左邊, 那么意味著指向的內(nèi)存空間中的值不能改變, 但是指針的指向可以改變
     如果const寫在指針的數(shù)據(jù)類型和*號(hào)之間, 那么意味著指向的內(nèi)存空間中的值不能改變, 但是指針的指向可以改變
     如果const寫在指針的右邊(數(shù)據(jù)類型 * const), 那么意味著指針的指向不可以改變, 但是指針指向的存儲(chǔ)空間中的值可以改變
     
     規(guī)律:
     如果const寫在指針變量名的旁邊, 那么指針的指向不能變, 而指向的內(nèi)存空間的值可以變
     如果const寫在數(shù)據(jù)類型的左邊或者右邊, 那么指針的指向可以改變, 但是指向的內(nèi)存空間的值不能改變
     */
    /*
    const char *name = "lnj";
    printf("name = %s\n", name);
    name = "lk";
    printf("name = %s\n", name);
     */
    
    /*
    int num = 10;
    int *p = &num;
//    const int *p = &num;
//    int const *p = &num;
//    int * const p = &num;
    *p = 998; // 修改了指針指向的內(nèi)存空間中存儲(chǔ)的值
    printf("&num = %p\n", &num);
    printf("p = %p\n", p);
    printf("num = %d\n", num);
    
    int age = 30;
    p = &age;// 修改了指針的指向
    printf("&age = %p\n", &age);
    printf("p = %p\n", p);
     */
    return 0;
}

void test()
{
    // const對(duì)基本數(shù)據(jù)類型的作用, 可以讓基本數(shù)據(jù)類型的變量變?yōu)槌A?    // const有兩種寫法, 1.寫在數(shù)據(jù)類型的左邊, 2.寫在數(shù)據(jù)類型的右邊
//    const int num = 10;
    int const num = 10;
    printf("num = %i\n", num);
//    num = 55;
    printf("num = %i\n", num);
}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容