1、字面常量
下面是一些字面常量:
float x=-100.5f;
#define open_success 0x000000001
char c='a';
char *ptr="i love andy";
int *pint=null;
"="號後面的是字面常量,字面常量儲存在程式的符號表裡而不是在一般的資料區。符號表是唯讀的,它是一種訪問保護機制,不可以取乙個字面常量的位址
常量合併:相同的常量公用乙個表符號。
2、符號常量
符號常量有兩種:用#define頂一頂的巨集常量和用const定義的常量
巨集常量在編譯之前就已經被替換為所代表的字面常量了,因此巨集本質上是字面常量。
c++ 中基本資料型別的常量,編譯器不會為其分配儲存空間。
const常量的一些特性:
可以取乙個cost符號常量的位址,對於基本型別的常量,編譯器會重新在記憶體中建立它的乙個拷貝,通過位址訪問到的就是這個拷貝而非原始的符號常量;
而對於構造型別的資料常量,編譯器會分配儲存位址。
3、契約性常量
void readvalue(const int &num)
{ cout<
列舉型別有侷限性,一般用於整數常量
5、字串常量的定義
如果乙個常量字串必須在.h檔案中頂一頂的話,那麼應該在.h中宣告常量指標,在.cpp中定義並初始化。
對於多個檔案中要用到的字串常量盡量用extern宣告:extern const char *name;
高質量C C程式設計指南
1.如果引數是指標,且僅作輸入用,則應在型別前加const,以防止該指標在函式體內被意外修改 2.在函式體的 入口處 對引數的有效性進行檢查 在函式體的 出口處 對return語句的正確性和效率進行檢查 3.引用的一些規則如下 1 引用被建立的同時必須被初始化 指標則可以在任何時候被初始化 2 不能...
高質量C C程式設計指南
目錄 前 言.6 第1章檔案結構 11 1.1 版權和版本的宣告 11 1.2 標頭檔案的結構 12 1.3 定義檔案的結構 13 1.4 標頭檔案的作用 13 1.5 目錄結構 14 第2章程式的版式 15 2.1 空行.15 2.2 行.16 2.3 行內的空格 17 2.4 對齊.18 2.5...
高質量C C程式設計指南 5
第5章常量 常量是一種識別符號,它的值在執行期間恆定不變。c語言用 define來定義 常量 稱 為巨集常量 c 語言除了 define外還可以用 const來定義 常量 稱 為const 常量 5.1為什麼需要常量 如果不使用常量,直接在程式中填寫數字或字串,將會有什麼麻煩?1 程式的可 讀性 可...