在C語言中,常量可以是整數(shù)常量、浮點數(shù)常量、字符常量、字符串常量以及枚舉常量。
- 整數(shù)常量:可以是十進制、八進制或十六進制的數(shù)字序列。例如:123、0123、0x123。
- 浮點數(shù)常量:可以是帶有小數(shù)點的數(shù)字序列,也可以使用指數(shù)形式。例如:3.14、0.123、1.23e-4。
- 字符常量:由單引號括起來的單個字符。例如:‘A’、‘b’、‘9’。
- 字符串常量:由雙引號括起來的字符序列。例如:“Hello”、“123”。
- 枚舉常量:定義在枚舉類型中的常量。例如:enum Color {RED, GREEN, BLUE}; 中的RED、GREEN、BLUE。
要判斷一個常量是否合法,可以根據(jù)以下規(guī)則:
- 整數(shù)常量必須符合整數(shù)的表示范圍,不能超出int、long等類型的取值范圍。
- 浮點數(shù)常量必須符合浮點數(shù)的表示規(guī)范,包括小數(shù)點位置、指數(shù)形式等。
- 字符常量只能包含一個字符,并且必須用單引號括起來。
- 字符串常量必須用雙引號括起來,并且可以為空字符串。
- 枚舉常量必須定義在合法的枚舉類型中。
在編譯過程中,如果常量不符合以上規(guī)則,則會產(chǎn)生編譯錯誤。因此,編譯器會負責判斷常量的合法性。