gpt4 book ai didi

c - 在枚举中定义 "Unknown"或 "NULL"值

转载 作者:太空狗 更新时间:2023-10-29 16:43:15 25 4
gpt4 key购买 nike

我正在定义自定义 typedef 元素,如下所示......

typedef enum  {
Ar,
Cl,
F,
He,
H,
Kr,
Ne,
N,
O,
Rn,
Xe
} Element;

我想检查一个 Element 类型的变量是否没有被设置(本质上只是检查一个 NULL 值)。据我所知,唯一的方法是添加一条额外的线

.... {
unknown = 0,
Ar,
F,
...etc

我是对的还是有更优雅的方法来做到这一点?

最佳答案

是的,您应该包含一个“未知”值。基本上 enum 只是一个 int。如果您没有在声明中定义任何常量(如在您的第一个代码示例中),第一个选项将设置为 0 和默认值。

另一种方法是将第一个选项设置为 1。这样就不会定义值 0,您可以手动检查它。

typedef enum {
Ar = 1,
Cl,
F,
He,
H,
Kr,
Ne,
N,
O,
Rn,
Xe
} Element;


if (myElement) { // same as if (myElement != 0)
// Defined
} else {
// Undefined
}

但我会选择明确定义的“未知”值。

关于c - 在枚举中定义 "Unknown"或 "NULL"值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12593061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com