据我所知,enum可以像
一样使用typedef enum
{
true,
false,
undefined
}FLAGS;
true
和false
可以像
int a = 1;
if(a == true)
....
else if(a == false)
....
谈到我的问题,我遇到了类似的枚举,
FLAGS Options[] = {true, undefined};
表示数组的类型为enum。我不知道。请澄清一下。
编辑::在上述场景中会发生什么。
prinf(“\ n true:%d,false:%d,undefined:%d \ n”,true,false,undefined);
true:0,false:1,undefined:2
为什么?
编辑2 ::
它与int Options[] = {true, undefined};
答案 0 :(得分:2)
该代码非常正常。你可以创建一个任何类型的数组 - 在这里你声明了一个包含两个元素的数组,每个元素的类型都是enum FLAGS
。
编辑:你似乎对“未定义”的含义感到困惑。它在技术上不是 一个未定义的值,也不是C中的保留关键字。在这种情况下,Thar只有2个。
在上述情景中会发生什么。
prinf("\n true:%d, false:%d, undefined:%d\n", true, false, undefined);
这将打印以下内容:
true:0, false:1, undefined:2
答案 1 :(得分:2)
enum
就像一个整数类型,还有一堆命名的文字。没有什么可以阻止你声明一个枚举值数组,它基本上只是一个整数数组。