C語言中const有什麼用途

2021-07-10 07:07:23 字數 873 閱讀 8486

const修飾的資料型別是指常型別,常型別的變數或物件的值是不能被更新的。

const關鍵字的作用主要有以下幾點:

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

const int max=100; int array[max];

(3)可以避免意義模糊的數字出現,同樣可以很方便地進行引數的調整和修改。

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

void f(const int i)

(5) 為函式過載提供了乙個參考。

class a //乙個函式

void f(int i) const //上乙個函式的過載 ......

}; (6) 可以節省空間,避免不必要的記憶體分配。 例如:

#define pi 3.14159 //常量巨集

const doulbe pi=3.14159; //此時並未將pi放入rom中 ......

double i=pi; //此時為pi分配記憶體,以後不再分配!

double i=pi; //編譯期間進行巨集替換,分配記憶體

double j=pi; //沒有記憶體分配

double j=pi; //再進行巨集替換,又一次分配記憶體!

const定義常量從彙編的角度來看,只是給出了對應的記憶體位址,而不是象#define一樣給出的是立即數,所以,const定義的常量在程式執行過程中只有乙份拷貝,而#define定義的常量在記憶體中有若干個拷貝。

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

Cookie 有什麼用途

cookie 為 web 應用程式儲存使用者相關資訊提供了一種有用的方法。例如,當使用者訪問您的站點時,您可以利用 cookie 儲存使用者首選項或其他資訊,這樣,當使用者下次再訪問您的站點時,應用程式就可以檢索以前儲存的資訊。本文概要介紹 cookie 在 asp.net 應用程式中的應用,為您展...

static有什麼用途

在c語言中,static主要定義全域性靜態變數,定義區域性靜態變數,定義靜態函式 一 定義全域性靜態變數 在全域性變數前面加上關鍵字static,該全域性變數變成了全域性靜態變數。全域性靜態變數有以下特點 1 在全域性資料區內分配記憶體 2 如果沒有初始化,其預設值為0 3 該變數在本檔案內從定義開...

SheevaPlug是什麼,有什麼用途

簡單說 sheevaplug 是由 arm cpu加上 linux 作業系統的小型計算機,用乙個手掌就可以托住 其中 cpu 是 1.2ghz 主頻,512mb ddr2,512mb nand flash,1個 usb口以及1個外接 sd 卡槽 這個小計算機瑞安裝了 linux 2.6.x 以及 d...