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

标签 c struct

我有一个代码重复的情况,我有完全相同的结构主体但名称不同。 struct的body不小,以后修改代码的时候有注入(inject)错误的风险。以下只是说明问题的示例:

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

最佳答案

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

struct read_data_on_disk {
    int a;
    char b;
};

typedef struct read_data_on_disk read_data;

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

关于c - 为具有相同主体的结构赋予不同的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51430327/

相关文章:

c - 什么时候应该使用动态内存分配函数与直接变量声明?

c - 二叉树是否包含在另一棵二叉树中 - C

c - Win32 消息循环 : Quitting after window closes with GetMessage(&msg, NULL、0、0)?

c - 在 C 中创建函数指针结构时从未完成的类型错误

c - 如何通过特定参数过滤结构数组?

c - 如何删除多余的循环?

c++ - 如果我知道 1+2+3+..+n=n*(n+1)/2 的结果,如何得到 n?

c - 指向结构指针成员的指针

c++ - 通过初始化创建指向新结构的共享指针

c - 如何使用相同的函数初始化相似的结构?