c語言const是畢業生面試被提問比較高的乙個問題,這裡簡單總結一下
1、定義const常量,使其具有不可變性
const修飾的int型,再進行數值計算會報錯
2、便於進行型別檢查,告訴編譯器處理內容,消除隱患
例如: void f(const int i) 編譯器就會知道i是乙個常量,不允許修改;
3、方便地進行引數的調整和修改,這一點和同巨集定義一樣,一處修改多處改變
const int max=100; 全域性都會改變
4、可以保護被修飾的東西,防止意外的修改,增強程式的健壯性
void f(const int min) 此處編譯器會報錯
5、可以節省空間,避免不必要的記憶體分配
編譯器通常不為普通const常量分配儲存空間,而是將它們儲存在符號表中,這使得它成為乙個編譯期間的常量,沒有了儲存與讀記憶體的操作,使得它的效率也很高。
關鍵詞作用
1.register 修飾經常被訪問的變數,它所修飾的變數,請求編譯器的盡可能的將變數儲存在cpu的暫存器中。這樣有助於減少訪存的時間 有助於程式的效率。它所修飾的變數不能用 位址,因為 這個是取的是記憶體空間的的位址,但是register 修飾的的變數儲存在暫存器裡面。還有register只能修飾...
常量關鍵詞const
可以用const修飾符號常量。const double pi 3.14 const int i和int const i是一樣的 也可以用const限定指標,但是限制指標時有幾個需要注意的地方。1 const修飾的位置 const int i,此時效果等同於int const i 可以這麼看,先把co...
C 中const關鍵詞總結
下午在調程式時,遇到error passing class name as this argument of class function discards qualifiers的編譯的錯誤,錯誤的意思是 this指標在作為引數傳入class function時限定符被取消了 google一下,是這...