C語言const關鍵字作用

2021-04-26 22:09:23 字數 788 閱讀 8798

c語言中const代表著」不可變「,基本和常量一樣不可修改,但是應用場景不一樣。

一.應用在變數

const char a='a';

a='b';  //錯誤,變數a的值不可以修改。

此時代表變數a值不可改變,任何企圖修改a變數值的語句(例如a=20;)都會報錯。

二.應用在指標

1)應用在*左邊

const char *p;

char const *p;

以上兩條語句作用一樣,都是表示指標指向的變數值不可以修改,但指標可以修改。

例如1;

const char *p='a';

char *q;

*p='b';  //錯,指標指向的值不可以修改。

p=q;      //對,指標值可以修改

2)應用在*右邊

char *const *p;

表示指標值(指標指向的位置)不可以改變,但指標指向的值可以改變。

例如2:

char *const *p='a';

char *q;

*p='b';  // 對,指標指向的值可以修改。

p=q;      //錯誤,指標值不可以修改。

總之,const在*左邊,表示指標指向的值不可以修改。const在*右邊,表示指標值(也就是指標指向的位置)不可以修改。

三.應用在函式引數

例如3:strcat(char *a,char const *b),將引數b指向的字串,新增到引數a字串的末尾。

此時,引數*a值可以改變,但是表示引數*b值不可改變

C語言關鍵字 Const

c中const的使用 雖然這聽起來很簡單,但實際上,const的使用也是c語言中乙個比較微妙的地方,微妙在何處呢?請看下面幾個問題。問題 const變數 常量 為什麼下面的例子在使用乙個const變數來初始化陣列,ansi c的編譯器會報告乙個錯誤呢?const int n 5 int a n 答案...

C語言關鍵字const

const 是constant的縮寫,只要有變數前面用const修飾,就意味著該變數裡面的資料是readonly。const可以修飾基本型別,構造型別,指標,等。const int a 10 去掉int a 的值不變 int const a 10 去掉int a的值不變 const int a 10...

C語言關鍵字 const

基本解釋 const是乙個c語言的關鍵字,它限定乙個變數不允許被改變。使用const在一定程度上可以提高程式的健壯性,另外,在 別人 的時候,清晰理解const所起的作用,對理解對方的程式也有一些幫助。雖然這聽起來很簡單,但實際上,const的使用也是c語言中乙個比較微妙的地方,微妙在何處呢?請看下...