c - 在 C 中定义枚举类型

标签 c enums typedef

如何将枚举类型定义为 uint8 而不是 int

typedef enum
{
  R_DIRECTION_LEFT = 1,
  R_DIRECTION_RIGHT = 2,
  R_DIRECTION_TOP = 4,
  R_DIRECTION_BOTTOM = 8
} R_Direction;

最佳答案

不,你不能。

来自标准§ 6.4.4.3 C11标准N1570

An identifier declared as an enumeration constant has type int.

关于c - 在 C 中定义枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48648638/

相关文章:

c - 如何重新分配缩小数组的大小?

c - 为什么这个程序只打印0?

c - Sysfs GPIO 电平触发的中断

c# - ASMX 网络服务枚举不保留其值(value)

C - 从队列中存储的项目中检索变量

c - 哪些算法可用于调整哈希表的大小?

Java 枚举 - 为什么使用 toString 而不是名称

enums - 我最接近通过 char 区分枚举的是什么?

c - 如何将指针作为参数传递给 typedef 函数?

c++ - 是否可以将枚举注入(inject)类范围/命名空间?