typedef+enum用法
时间: 2023-12-15 08:06:48 浏览: 81
typedef和enum可以结合使用来定义新的数据类型,这种新的数据类型可以像普通的数据类型一样使用。下面是一个例子:
```c
#include <stdio.h>
typedef enum {
MON = 1,
TUE,
WED,
THU,
FRI,
SAT,
SUN
} Weekday;
void printDay(Weekday day) {
switch (day) {
case MON:
printf("Monday\n");
break;
case TUE:
printf("Tuesday\n");
break;
case WED:
printf("Wednesday\n");
break;
case THU:
printf("Thursday\n");
break;
case FRI:
printf("Friday\n");
break;
case SAT:
printf("Saturday\n");
break;
case SUN:
printf("Sunday\n");
break;
default:
printf("Invalid day\n");
break;
}
}
int main() {
Weekday today = TUE;
printDay(today); // 输出:Tuesday
return 0;
}
```
在上面的例子中,我们使用typedef定义了一个新的数据类型Weekday,它的取值只能是MON到SUN中的一个。我们还定义了一个函数printDay,它接受一个Weekday类型的参数,并根据它的值打印出相应的字符串。在main函数中,我们定义了一个Weekday类型的变量today,并将它的值设置为TUE,然后调用printDay函数打印出今天是星期几。
阅读全文