C語言中const有什么用途


自己上網查的資料。

  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) { i=10;//error! }

  5. 可以節省空間,避免不必要的內存分配。 例如: 

#define PI 3.14159 //常量宏
const double Pi=3.14159; //此時並未將Pi放入RAM中 ......
double i=Pi; //此時為Pi分配內存,以后不再分配!
double I=PI; //編譯期間進行宏替換,分配內存
double j=Pi; //沒有內存分配
double J=PI; //再進行宏替換,又一次分配內存!
const定義常量從匯編的角度來看,只是給出了對應的內存地址,而不是像#define一樣給出的是立即數,所以,const定義的常量在程序運行過程中只有一份拷貝,而#define定義的常量在內存中有若干份拷貝。 

6. 提高了效率。
編譯器通常不為普通const常量分配存儲空間,而是將它們保存在符號表中,這使得它成為一個編譯期間的常量,沒有了存儲與讀內存的操作,使得它的效率也很高。

 

擴展資料:const是一個C語言(ANSI C)的關鍵字,具有着舉足輕重的地位。它限定一個變量不允許被改變,產生靜態作用。使用const在一定程度上可以提高程序的安全性和可靠性。另外,在觀看別人代碼的時候,清晰理解const所起的作用,對理解對方的程序也有一定幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM