枚举是一种特殊的整型,关键词为enum,将变量的值一一列举出来,变量的值只限于列举出来的值的范围内
枚举的定义使用
enum msgtype {
eone,
etwo;
};
typedef enum { DG=0, DN, UDG, UDN } test;
//注意test就是我这里给这个枚举类型自定义的一个新的类型名,类似与int,float等。
DG=2; 这就是错的,因为DG是一个常量,无法再被修改
typedef enum { DG, DN, UDG, UDN } test;
//注意test就是我这里给这个枚举类型自定义的一个新的类型名,类似与int,float等。
test b;b=2 // 注意此处虽然是对枚举变量赋值,赋的范围虽然也在枚举值范围内,但这是错的,因为你不能用数字直接对其进行赋值。
b=(test)2 这样就可以了,加一个枚举类型的强制转换即可。
typedef enum { DG, DN, UDG, UDN } test;
//注意test就是我这里给这个枚举类型自定义的一个新的类型名,类似与int,float等。
test b;
b = UDG; //b是一个枚举变量,而UDG是一个枚举值常量,这样赋值就是正确的
printf("%d", b);