kin*_*er1 4 c linux coding-style
我正在对一段代码进行功能增强,这就是我在现有代码中看到的内容.如果声明了枚举或结构,以后总会有一个typedef:
enum _Mode {
MODE1 = 0,
MODE2,
MODE3
};
typedef enum _Mode Mode;
Run Code Online (Sandbox Code Playgroud)
类似于结构:
struct _Slot {
void * mem1;
int mem2;
};
typedef struct _Slot Slot;
Run Code Online (Sandbox Code Playgroud)
结构不能直接在枚举中声明吗?为什么对于像下划线这样小的东西有一个typedef?这是编码惯例吗?
请给出好的答案,因为我需要添加一些代码,如果这是一个规则,我需要遵循它.
请帮忙.PS:作为附加信息,源代码用C语言编写,Linux是平台.
在C中,要声明具有结构类型的变量,您必须使用以下内容:
struct _Slot a;
Run Code Online (Sandbox Code Playgroud)
typedef允许你通过基本上创建一个别名使这看起来有点整洁.并允许变量声明如下:
Slot a;
Run Code Online (Sandbox Code Playgroud)