const在C語言中有哪些用法

時間 2021-08-30 10:38:34

1樓:寧心聽曲

const關鍵字至少有下列n個作用:

(1)欲阻止乙個變數被改變,可以使用const關鍵字。在定義該const變數時,通常需要對它進行初始化,因為以後就沒有機會再去改變它了;

(2)對指標來說,可以指定指標本身為const,也可以指定指標所指的資料為const,或二者同時指定為const;

(3)在乙個函式宣告中,const可以修飾形參,表明它是乙個輸入引數,在函式內部不能改變其值;

(4)對於類的成員函式,若指定其為const型別,則表明其是乙個常函式,不能修改類的成員變數;

(5)對於類的成員函式,有時候必須指定其返回值為const型別,以使得其返回值不為「左值」。例如:

const classa operator*(const classa& a1,const classa& a2);

operator*的返回結果必須是乙個const物件。如果不是,這樣的****也不會編譯出錯:

classa a, b, c;

(a * b) = c; // 對a*b的結果賦值

操作(a * b) = c顯然不符合程式設計者的初衷,也沒有任何意義。

2樓:千鋒教育

const是乙個c語言的關鍵字,它限定乙個變數不允許被改變。使用const在一定程度上可以提高程式的安全性和可靠性。另外,在**別人**的時候,清晰理解const所起的作用,對理解對方的程式也有一些幫助。

另外const在其他程式語言中也有出現,如c++、php5、c#.net、hc08 c。

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

例如:const int max=100; max++會產生錯誤;

(2)便於進行型別檢查,使編譯器對處理內容有更多了解,消除了一些隱患。

例如: void f(const int i) 編譯器就會知道i是乙個常量,不允許修改;

(3)可以避免意義模糊的數字出現,同樣可以很方便地進行引數的調整和修改。 同巨集定義一樣,可以做到不變則已,一變都變!

如(1)中,如果想修改max的內容,只需要:const int max=you want;即可!

(4)可以保護被修飾的東西,防止意外的修改,增強程式的健壯性。 還是上面的例子,如果在函式體內修改了i,編譯器就會報錯;

例如: void f(const int i)

3樓:

1、定義常量

用const可以定義各種型別的常量

例如:const int max = 100;

const float min = 0;

並且編譯時會進行型別檢查,這是

其和#define的最大不同,當然它

也沒有#define定義巨集的功能。

2、用於防止向函式傳遞的引數被意外修改

例如:int fun(const int *p1,const int *p2);

這樣定義這個函式,可以防止傳遞進來的指標所指向的內容被意外修改因為如果你進行了修改,編譯時會報錯

4樓:o丨

const在c語言也有的,是限定符,你可以理解為,它把乙個變數的許可權改為 「可讀不可寫」。

哪個變數有const限定符,它就只能讀取,不能寫入,所以在定義它的時候就必須賦值。

5樓:齋傲雲

const是在c++裡面才有的吧~

c語言中函式指標用法,C語言中函式指標用法

函式在記憶體中有一個物理位置,而這個位置是可以賦給一個指標的。一零點函式的地址就是該函式的入口點。因此,函式指標可被用來呼叫一個函式。函式的地址是用不帶任何括號或引數的函式名來得到的。這很類似於陣列地址的得到方法,即,在只有陣列名而無下標是就得到陣列地址。怎樣說明一個函式指標變數呢 為了說明一個變數...

c語言中strtok用法,C語言中strtok用法

星月小木木 strtok函式會破壞被分解字串的完整,呼叫前和呼叫後的s已經不一樣了。如果要保持原字串的完整,可以使用strchr和sscanf的組合等。strtok是乙個執行緒不安全的函式,因為它使用了靜態分配的空間來儲存被分割的字串位置 執行緒安全的函式叫strtok r,ca。運用strtok來...

c語言strcpy用法,c語言中strcpy函式幹什麼用的

飛喵某 2 接著定義兩個陣列a和b,程式經過strcpy函式處理,將b陣列中的字串複製到a陣列中,最後列印出結果 3 最後來看看效果。開啟除錯視窗,輸入一句話,按下回車輸出了這句話。以上就是c語言中strcpy的用法 例如 定義一個字串char a 20 和一個字串c i am a teacher ...