开发者社区> 问答> 正文

枚举和一组预处理的 #define 有什么不同?

枚举和一组预处理的 #define 有什么不同?

展开
收起
游客py5kcp7dd6tu6 2022-03-29 00:48:53 359 0
1 条回答
写回答
取消 提交回答
  • 只有很小的区别。 C 标准中允许枚举和其它整形类别自由混用而不会出错。 (但是, 假如编译器不允许在未经明确类型转换的情况下混用这些类型,则 聪明地使用枚举可以捕捉到某些程序错误。) 枚举的一些优点: 自动赋值; 调试器在检验枚举变量时, 可以显示符号值; 它们服从数据块作用域规则。(编译器也可以对在枚举变量被任意地和其它 类型混用时, 产生非重要的警告信息, 因为这被认为是坏风格。) 一个缺点是程序员不能控制这些对非重要的警告; 有些程序员则反感于无法 控制枚举变量的大小。

    2022-03-29 08:06:13
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
重新定义计算的边界 立即下载
继承与功能组合 立即下载
低代码开发师(初级)实战教程 立即下载