定義
enum枚舉類型:在實際問題中,有些變量的取值被限定在一個有限的范圍內。例如,一個星期內只有七天,一年只有十二個月,一個班每周有六門課程等等。如果把這些量說明為整型,字符型或其它類型顯然是不妥當的。為此,C語言提供了一種稱為“枚舉”的類型。在“枚舉”類型的定義中列舉出所有可能的取值,被說明為該“枚舉”類型的變量取值不能超過定義的范圍。應該說明的是,枚舉類型是一種基本數據類型,而不是一種構造類型,因為它不能再分解為任何基本類型。
enum類型定義
enum 的定義形式如下:
enum enum_name
{
enum_value1,
enum_value2,
...
enum_valuen
};如果沒有定義enum變量的需求,enum_name可以省略。
在以上形式下,第一個值,enum_value1, 默認值為0,以下各條分別為上一條加一。
如果要改變enum的第一個值,或enum各個項值不連續,可以寫為
enum enum_name
{
enum_value1= -100,
enum_value2,
...
enum_valuem = 1234,
enum_valuem1,
...
enum_valuen
};其中顯式賦值的enum項,實際值就是顯式賦值的值。其余項仍遵從上一項加一的原則。
這個例子中,enum_value2 = -99, enum_valuem1 = 1235。
enum 變量的定義:
定義一個變量的格式為
enum enum_type var = init_value;
定義一個enum_type為類型的變量var, 並初始化為init_value. 其中=init_value部分可以省略。
enum項的使用。
enum各個項使用方法類似於無參宏定義。在需要某值的地方,引用對應項即可。
如
var = enum_value1;