无需初始化即可使用的typedef枚举值

时间:2018-06-19 11:36:25

标签: c

我为我的应用程序的错误代码创建了typedef enum。 我应该放在哪里? 项目中所有文件识别它的最佳方法是什么?

例如

typedef enum error_Codes{
ERROR1,
ERROR2,
...
}APP_ERRORS;

我想以这种方式在所有.c文件中将其用作打印件:

iprintf("YOU HAVE ENCOUNTERED ERROR %d", ERROR1);

我是否需要在所有文件中初始化APP_ERRORS类型的成员? 有没有更好的办法?

2 个答案:

答案 0 :(得分:1)

我想说最好的方法是将其保存在c文件中包含的h文件中。

这样,如果您修改枚举中的值,更改将应用​​于所有c文件。

答案 1 :(得分:0)

通常将枚举放入头文件.h中(仅一次)。您将在.c中添加的头文件:

#include "my_header.h"

您无需为枚举赋值,但是每次添加枚举时,它将从0开始并以1递增:

typedef enum error_Codes{
ERROR1, // = 0
ERROR2, // = 1
...     // = ERROR2+1 etc etc
}APP_ERRORS;

如果希望该枚举为负,则必须为其分配一些值。

但是,建议您为枚举赋值以提高可读性。