这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 大家都用什么方式来表达枚举类型的变量

共8条 1/1 1 跳转至

大家都用什么方式来表达枚举类型的变量

高工
2017-09-28 09:28:47     打赏

大家都用什么方式来表达枚举类型的变量。
方案I:
传统的枚举方式,如下:

enum tDelOpt { OS_DEL_NO_PEND = 1,
    OS_DEL_ALWAYS,
};

与C语言教科书式的表达方式。其优点是编译器也可以参与检查,如果使用其它参数,则会提示错误。

方案II:
简单的宏定义方式,如下

#define OS_DEL_NO_PEND 1
#define OS_DEL_ALWAYS 2
uint8_t tDelOpt;



在使用时均通过switch函数来操作。

switch(tDelOpt)
{
case OS_DEL_NO_PEND :
{
...;
break;
}
case OS_DEL_ALWAYS :
{
...;
break;
}
}


大家怎么看待这个问题啊?




关键词: 枚举     C语言     stm32    

菜鸟
2017-09-28 09:37:29     打赏
2楼

这是个问题么?两种方式都可以,看你自己习惯  有的喜欢用第一种 有人习惯第二种


专家
2017-09-28 10:05:59     打赏
3楼

我是一个传统的人


管理员
2017-09-28 10:37:09     打赏
4楼

第一种安全性更高一些吧  第二种毕竟是简单的替换


院士
2017-09-28 13:37:34     打赏
5楼

我倒是觉得,如果单纯的以枚举的方式来处理此变量,可能使用枚举变量定义处理比较好一些。

但也有一些其它应用时,枚举就显得有些“麻烦”了。


专家
2017-09-29 09:52:26     打赏
6楼

我是用传统的枚举方式。


高工
2017-09-29 17:54:10     打赏
7楼

从代码的阅读上和有提到的编译器可以检查的方面看都会选择枚举。用#define,如果多增加几个成员那不得一页都是#define #define....用枚举阅读和理解都会好一些咯


工程师
2018-02-27 02:13:23     打赏
8楼

一直用第一种,就这么学的,用习惯了。

也方便查错,理解,可读性强。


共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]