C语言枚举值和标识符
示例
/* declare items of the enum */ #define FOREACH \ X(item1) \ X(item2) \ X(item3) \ /* end of list */ /* define the enum values */ #define X(id) MyEnum_ ## id, enum MyEnum { FOREACH }; #undef X /* convert an enum value to its identifier */ const char * enum2string(int enumValue) { const char* stringValue = NULL; #define X(id) if (enumValue == MyEnum_ ## id) stringValue = #id; FOREACH #undef X return stringValue; }
接下来,您可以在代码中使用枚举值,并使用以下命令轻松打印其标识符:
printf("%s\n", enum2string(MyEnum_item2));