在C語言中,enum(枚舉)是一種用于定義具有一組有限可能值的新數據類型的功用。
enum定義的語法如下:
enum 枚舉名 {
枚舉值1,
枚舉值2,
...
};
其中,枚舉名是用戶定義的標識符,用于聲明一個枚舉類型,枚舉值可以是任意整數常量。默認情況下,枚舉值從0開始遞增,但也可以手動指定初始值。
通過定義枚舉類型后,可以使用該類型來聲明變量,并將枚舉值賦給變量。例如:
enum Weekday {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday
};
enum Weekday today;
today = Wednesday;
在上述例子中,定義了一個Weekday的枚舉類型,包含了Monday到Friday五個枚舉值。然后聲明了一個名為today的變量,并將Wednesday枚舉值賦給它。
枚舉類型可以用于switch語句,方便地處理一組有限的可能值。例如:
switch(today) {
case Monday:
case Tuesday:
case Wednesday:
printf("It's a weekday.");
break;
case Thursday:
case Friday:
printf("It's almost weekend.");
break;
default:
printf("Invalid value.");
}
在上述例子中,根據today的值來執行不同的操作。當today的值為Monday、Tuesday或Wednesday時,輸出"It’s a weekday.“;當值為Thursday或Friday時,輸出"It’s almost weekend.”;當值不匹配任何枚舉值時,輸出"Invalid value."。
總之,enum在C語言中用于定義一組有限的可能值,將這些值新的數據類型,并可以使用該類型來聲明變量、賦值、進行比較等操作。