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所起的做用,對理解對方的程序也有必定幫助。error

相關文章
相關標籤/搜索