//定义一个Counter类型.下面两种效果等价
typedef enum{one=1, two, three}Counter;
//enum Counter{one=1, two, three};
//枚举相当于给其中的变量进行 define 处理,可以进行比较等操作
//只不过只可以是整形的值,其变量也会被看成整形
//但不可以给这个变量直接赋值int型变量;需要强转
//在没有显式说明的情况下,枚举类型中的第一个枚举常量的值为0,第二个为1,以此类推。
//如果只指定了部分枚举常量的值,那么未指定值的枚举常量的值将依着最后一个指定值向后递增(步长为1)
//定义一个变量counter
//enum {t_one=1, t_two, t_three}counter; //会有警告,因为没有明确enum的类型只是声明了一个变量
int main(){
Counter counter; //用Counter定义一个变量
counter = one;
printf("%d\n", counter);
counter = (Counter)2;
printf("%d\n", counter);
int x = three; //即使没有 Counter counter;,也可以这样用,因为enum相当于define
printf("%d\n", x);
return 0;
}
/*
执行结果:
1
2
3
*/