enum或typedef枚举返回值

时间:2015-01-26 15:31:57

标签: c enums const typedef

我有一个测试系统几种不同状态的函数。

我可以使用

enum
{
   limit   = -2,
   timeout = -1,
   ongoing =  0,
   finished=  1
};

然后将该函数定义为:

static int test(void);

我个人更喜欢typedef enum方法:

typedef enum
{
   limit   = -2,
   timeout = -1,
   ongoing =  0,
   finished=  1
} eTest;

然后该函数将被定义为:

static eTest test(void);

你认为这两个更好吗? 还是有一种更好的方法可以做到这一点,我还没有想过?

1 个答案:

答案 0 :(得分:1)

  

你认为这两个更好吗?

事实上,第二版对读者更有意义。

在第一个版本中,读者无法知道int的意思,但第二个版本为读者提供了关于返回值的线索。