c - 我应该使用什么类型来表示 C 枚举的二进制?

标签 c enums binary representation

据我所知,C 枚举是无符号整数,但这可能因实现而异。 我应该为二进制表示形式的枚举使用什么类型?

*PS “二进制表示”是指字节数组。我想将枚举值序列化到套接字以与其他程序进行互操作。

最佳答案

由编译器决定是否使用 int 来表示 enum 类型,如果是 int 则使用 long 表示code> 不足以保存 enum 的所有值。

如果您知道所有 enum 值都可以由 int 表示,那么您可以安全地使用 int 作为您的枚举值。

关于c - 我应该使用什么类型来表示 C 枚举的二进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3509470/

相关文章:

java - 在枚举中不是常量

c - 为什么 fwrite 不覆盖我在 wb+ 中的数据?

python - 将(大量)零写入二进制文件

c++ - 权重启发式和路径压缩

c - snprintf c 的奇怪行为

python - python2.7 中最少的非官方​​枚举支持 - flufl.enum 或 enum34?

python - 如何在 Python 中检测文件是否为二进制(非文本)文件?

在 C 中将数据从一个矩阵复制到另一个矩阵

c - 在 C 中重定向 posix 文件调用

python - 在枚举构造函数中使用 super() 时出现 NameError