从C中的typedef enum获取索引处的数组值

aop*_*fan 0 c arrays enums typedef

如果有这样的枚举:

typedef enum {
    ValueOne = /* some arbitrary number, NOT necessarily 0 */,
    ValueTwo = /* another number, NOT necessarily consecutive */
} MyEnumeration;
Run Code Online (Sandbox Code Playgroud)

我想知道是否有任何方法可以从中获取数组并在不执行此操作的情况下访问特定索引处的值:

int array[2] = {ValueOne, ValueTwo};
MyEnumeration value = array[provided_index];
Run Code Online (Sandbox Code Playgroud)

我的问题是,在我的项目中,枚举有10-15个值,而我宁愿不从每个值中创建一个数组.

[编辑]:我可以看到这是如何不会是可能的,因为typedefenum没有绑在一起的,但是我想它不会伤害要求的情况下,我失去了一些东西.

Oli*_*rth 5

没有.

您必须为枚举和数组编写代码,或使用某种技术自动生成代码以减少维护负担.

您可能会对本文感兴趣:New C:X Macros.