剛剛接觸枚舉變量的人,多多少少都會有一些,使用方面的不足,我們在這里說一說!
其中,sum,mon,…,sat 等稱為枚舉元素或枚舉常量,它們是用戶定義的標識符。
需要強調以下幾點:
① 枚舉元素不是變量,而是常量,因此枚舉元素又稱為枚舉常量。因為是常量,所以不能對枚舉元素進行賦值;
② 枚舉元素作為常量,它們是有值的,C 語言在編譯時按定義的順序使它們的值為,1,2,…。
如果在定義枚舉類型時指定元素的值,也可以改變枚舉元素的值。例如:
enum weekday{sun=7,mon=1,tue,wed,thu,fri,sat}day;
這時,sun 為 7,mon 為 1,以后元素順次加 1,所以 sat 就是 6 了;
③枚舉值的比較規則是:按其在說明時的順序號比較,如果說明時沒有人為指定,則第一個枚舉元素的值認作 0,后面依次加1;
④ 一個整數不能直接賦給一個枚舉變量,必須強制進行類型轉換才能賦值。例如: day=(enum weekday)2; 這個賦值的意思是,將順序號為 2 的枚舉元素賦給 day,相當于workday=tue;
使用枚舉變量的時候,如果不賦處置,默認文0,如果你前面的成員已經賦初值,那就在原有基礎上加1。