为具有相同主体的结构赋予不同的名称

时间:2018-07-19 19:18:02

标签: c struct

在代码重复的情况下,我具有完全相同的结构体但名称不同。结构体很小,因此有可能在将来修改代码时注入错误。以下仅是说明问题的示例:

struct read_data_on_disk {
    int a;
    char b;
};
struct read_data {
    int a;
    char b;
};

可以定义其中一个,例如read_data_on_disk,另一个可以定义为别名吗?我正在寻找类似以下的内容:

typedef struct read_data_on_disk struct read_data; // this is wrong though

1 个答案:

答案 0 :(得分:4)

那几乎是正确的。试试这个:

struct read_data_on_disk {
    int a;
    char b;
};

typedef struct read_data_on_disk read_data;

但是正如dbush上面指出的,如果内容相同,为什么要有两个结构?