C語言中關於const int和int const,const int *和int const *,int *const的理解

前言:

1.一般定義

const是一個C語言中的關鍵字,所修飾的數據類型的變量或對象的值是不能被改變的。

2.推出目的

初始目的是爲了取代預編譯指令

3.主要作用

1)定義const常量,具有不可變性

2)便於進行類型檢查

3)防止誤修改

4)節省空間,提供效率

舉例:

1.const int和int const

#include "stdio.h"

int main(void)
{
    const int a = 10;
    //int const a = 10;   //同上句代碼作用等同
    //a = 20;             //取消註釋此句會報錯,因爲a的值不可變
    printf("%d\n",a);
    return 0;
}

2.const int *和int const *

#include "stdio.h"

int main(void)
{
    int a = 10;
    int b = 20;
    const int *c = &a;    //const修飾的是int,也即是*c的值不可變,但c指針可變
    //int const *d = &a;  //同上句代碼作用等同
    //*c = 20;            //取消註釋此句會報錯,因爲*c的內容不可變
    c = &b;               //可以修改c,指向新的地址
    printf("%d\n",*c);
    return 0;
}

3.int *const 

#include "stdio.h"

int main(void)
{
    int a = 10;
    int b = 20;
    int *const c = &a;    //const修飾的是指針c,所以c是常量指針,但存儲的地址所指向的內容可變
    //c = &b;             //取消註釋此句會報錯,因爲c是常量指針
    *c = 30;
    printf("%d\n", *c);
    return 0;
}

 

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