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語言中乙個比較微妙的地方,微妙在何處呢?請看下...