在C语言中结构体里的枚举类型可以通过直接赋值或者通过枚举成员来赋值。
- 直接赋值:
#include// 定义枚举类型 enum Color { RED, GREEN, BLUE }; // 定义结构体 struct Car { enum Color color; int year; }; int main() { // 创建结构体对象并直接赋值 struct Car myCar = {GREEN, 2020}; // 打印结构体对象的值 printf("My car's color is %d and year is %d\n", myCar.color, myCar.year); return 0; }
- 通过枚举成员赋值:
#include// 定义枚举类型 enum Color { RED, GREEN, BLUE }; // 定义结构体 struct Car { enum Color color; int year; }; int main() { // 创建结构体对象 struct Car myCar; // 通过枚举成员赋值 myCar.color = BLUE; myCar.year = 2020; // 打印结构体对象的值 printf("My car's color is %d and year is %d\n", myCar.color, myCar.year); return 0; }
无论采用哪种方式,都可以在结构体中赋值枚举类型。