2017-06-19 64 views
-2
#include <stdio.h> 

enum week { sunday = 0, monday, tuesday, wednesday, thursday, friday, saturday }; 

int main() 
{ 
    int testNum = monday; 
    enum week var = monday; 
    printf("%d\n", testNum); 
    return 0; 
} 

使某個變量成爲特定枚舉類型的目的是什麼?例如,在上面的代碼中,變量var的好處在於「enum week」類型與只有「testNum」整數類型的整數類型有什麼區別?在C中類型爲enum的變量的用途

+1

基本上只是更好的調試器支持。 (Enums很奇怪。)也可能作用域(你不能用宏做)。 – PSkocik

+1

更好的可讀性。更好的類型檢查。 –

+0

更簡單的定義。 –

回答

1

枚舉類型是一個有用的抽象,用於表示不必排序的小值集合,或者算術操作無意義的地方。例如,

enum cartype { coupe, hatchback, sedan, suv }; 

從邏輯上講,cartype有四個值。這些值不是相對於彼此排列的(sedan < suv的含義是什麼?),沒有任何定義的自動操作(coupe + hatchback的含義是什麼?)等。

基本上,只是另一種表示數據的方式,而不會讓你陷入這種表示的細節之中。