C語言中對const的理解

2021-07-04 07:55:01 字數 806 閱讀 6353

const的作用是限定乙個變數不能被修改。

對const的理解:

(1)

int

const a;

const

int b;

這兩句是相等的。

(2)

const

char *p1;

char * const *p2;

const

char * const p3;

第一句的意思是指標p1所指向的記憶體空間不能被修改,如:

p1[1] = 'a';    //錯誤

*p = 'a'; //錯誤

p = 3; //正確

第二句的意思是指標p2是乙個常指標,指標變數不能被修改,但記憶體空間可以被修改。如:

p = 1;      //錯誤

*p = 'a'; //正確

p[1] = 'a'; //正確

第三句的意思是指標3是乙個常整形的常指標,指標變數和記憶體空間都不能被修改。如:

p = 1;      //錯誤

*p = 'a'; //錯誤

p[1] = 'a'; //錯誤

(3)const定義的常量不能直接修改,但可以通過指標間接修改。如:

const int a = 10;

int*p = &a;

*p = 100;

printf("%d", a);

C語言中的const

c語言的中的const,代表的含義是 不可改變的變數 或者可以成為 偽常量 c 中 const,被稱為 乙個有型別描述的常量 const int liv num 10 liv num 18 error 因為liv num 被const修飾不可被直接賦值 那麼,我為什麼說是 偽常量 我們知道在c中給變...

C語言中的const

最近在複習c語言,就來說說關於我以前才開始學c語言很迷糊的乙個知識點 const關鍵字 const關鍵字是用來定義唯讀變數的,說 const 定義的是變數,但又相當於常量 說它定義的是常量,但又有變數的屬性,所以可以叫常變數。用 const 定義常變數的方法很簡單,就是在定義變數時前面加 const...

c語言中const 關鍵字的理解

對於非指標變數的修飾,const可以放在型別的前面,也可以放在型別的後面,例如 int const myint 或者 const int myint 他們所表達的意思是一樣的,都是表示myint 是常量,不能再修改myint的值 對於指標變數的宣告,四種情況,以int為例 1.const int m...