用typedef关键字将枚举类型定义成别名,并利用该别名进行变量声明,默认第一个枚举常量值为 0 ,之后的元素依次 +1 ,如:0,1,2,3, …
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
typedef enum
{
saturday,
sunday = 0,
monday,
tuesday,
wednesday,
thursday,
friday
} workday;
workday day,day2;
day = saturday; #赋值时就用枚举型的来赋值
day2 = friday;
printf("%d\n", day); //0
printf("%d\n", day2); //5
return 0;
}
虽然枚举类型变量可以看做是整型类型的变量,但是不能将普通的整数赋值给枚举类型变量,如下(但是枚举类型可用来跟整数一样判断比较,如switch-case等操作):
workday day = 1; //Error
workday day = saturday;//最好的操作
参考文章:
enum与typedef enum的用法
枚举类型详解