#include <stdio.h>
int main(int argc, const char * argv[]) {
//定义枚举的第一种方式
enum KIColor {
iBlueColor = 1,
iYellowColor = 2,
IBlackColor
};
//使用枚举
enum KIColor ki = IBlackColor;
printf("ki = %d\n",ki);
//定义枚举的第二种方式[匿名枚举]
enum {
bad,
normal,
good,
better,
best
} myEnum;
myEnum = bad;
printf("myEnum = %d\n",myEnum);//枚举变量默认从0开始
//定义枚举的第三种方式
enum Department {
IT,
Developer = 4,
Sale,
Dbo
} depart;
depart = Dbo;
printf("depart = %d\n",depart);
//--------- typedef -----
//使用typedef 定义标准枚举 (typedef的意义在于,给存在的类型取一个别名,并且在使用时,可以省略一个关键字)
typedef enum DayOfWeek {
Monday = 1,
Tusday = 2,
Wednesday = 3,
Thursday = 4,
Friday = 5,
Saturday = 6,
Sunday = 7
} Dow;
Dow dow = Monday;
printf("dow = %d\n",dow);
//使用typedef 定义匿名枚举
typedef enum {
Samoyed,
Husky,
ShibaInu
} DogType;
DogType dt = Samoyed;
printf("dt = %d\n",dt);
//使用typedef 给存在的枚举取别名
typedef DogType DogType2;
DogType2 dt2 = Husky;
printf("dt2 = %d\n",dt2);
return 0;
}
总结:
1、和枚举一模一样
2、使用typedef的好处之一:在使用枚举类型的时候可以省略一个enum的关键字。这样的写法更符合直觉。