添加我的"定义"在C中的枚举

时间:2014-09-09 06:31:57

标签: c enums c-preprocessor

我在C中有一些定义:

#define My_CheckButton_1 "Check1"
#define My_CheckButton_2 "Check2"
#define My_CheckButton_3 "Check3"

我想将所有My_CheckButton_x添加到枚举中,因此我可以在循环中运行所有这些。

我该怎么做?

由于

2 个答案:

答案 0 :(得分:0)

只需这样做:

typedef enum{Check1, Check2, Check3} My_CheckButton;  

答案 1 :(得分:0)

枚举在C中具有整数类型,因此如果将它们移动到枚举,则不会获得字符串值,而是整数值。如果需要字符串值,则需要一个函数来执行枚举到字符串转换。它不一样,但也许使用数组可能是另一种选择:

static const char *My_CheckButtons[] = {"Check1", "Check2", ... , "CheckN"};

当然你还是要记住数组的大小。您也可以将两者结合使用,并使用枚举值作为字符串数组的索引。