枚举变量申明结构体成员
时间: 2024-04-20 16:20:37 浏览: 17
枚举变量可以用于申明结构体的成员。枚举变量可以定义一组具有相同类型的常量,并将它们作为结构体的成员使用。下面是一个示例代码[^1]:
```c
#include <stdio.h>
// 定义枚举类型
enum Weekday {
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
// 定义结构体
struct Date {
int day;
int month;
int year;
enum Weekday weekday; // 使用枚举变量作为结构体成员
};
int main() {
struct Date today;
today.day = 15;
today.month = 9;
today.year = 2021;
today.weekday = Thursday;
printf("Today is %d/%d/%d, ", today.day, today.month, today.year);
switch (today.weekday) {
case Monday:
printf("Monday.\n");
break;
case Tuesday:
printf("Tuesday.\n");
break;
case Wednesday:
printf("Wednesday.\n");
break;
case Thursday:
printf("Thursday.\n");
break;
case Friday:
printf("Friday.\n");
break;
case Saturday:
printf("Saturday.\n");
break;
case Sunday:
printf("Sunday.\n");
break;
}
return 0;
}
```
这段代码定义了一个枚举类型`Weekday`,表示一周的星期几。然后定义了一个结构体`Date`,其中包含了一个枚举类型的成员`weekday`。在`main`函数中,创建了一个`Date`类型的变量`today`,并对其成员进行赋值。最后,根据`weekday`的值,使用`switch`语句打印出今天是星期几。