这里嵌入了c。 我们的一位合作伙伴向我们发送了他们正在使用的库函数的 API 原型(prototype)。有一个像这样的枚举:
typedef enum{
val1 = 0,
val2 = 1,
[..]
} status;
然后将枚举类型定义为结构:
typedef struct status status_t;
这个typedef是什么意思? 有实际意义吗? 我必须像常规结构一样处理它吗? 我认为通过这种方法我可以将枚举器转换为结构并且可以访问该结构的成员,但我不确定。 任何提示将不胜感激。 B.R.
在 arm-gcc 上,GNU c99
最佳答案
这是两种不同的类型。
结构名称在它们自己的命名空间中。所以struct status
和status
是不同的。前者是结构的名称,而后者是引用未命名的 enum
的 typedef。
分配给枚举的 typedef 名称与分配给结构的标签名称相同的事实并不意味着就编译器而言它们以任何方式关联。
关于c - 类型定义一个枚举类型作为结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48867044/