C 为具有相同主体的结构赋予不同的名称
我有一个代码重复的情况,我有完全相同的结构体,但名称不同。结构体并不小,因此在将来修改代码时存在注入错误的风险。以下只是一个例子来说明问题:C 为具有相同主体的结构赋予不同的名称,c,struct,C,Struct,我有一个代码重复的情况,我有完全相同的结构体,但名称不同。结构体并不小,因此在将来修改代码时存在注入错误的风险。以下只是一个例子来说明问题: struct read_data_on_disk { int a; char b; }; struct read_data { int a; char b; }; 可以定义其中一个,比如说在磁盘上读取数据,另一个可以定义为它的别名?我正在寻找以下内容: typedef struct read_data_on_disk st
struct read_data_on_disk {
int a;
char b;
};
struct read_data {
int a;
char b;
};
可以定义其中一个,比如说在磁盘上读取数据,另一个可以定义为它的别名?我正在寻找以下内容:
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在上面指出的,如果两个结构的内容相同,为什么要有两个呢?这几乎是对的。试试这个:
struct read_data_on_disk {
int a;
char b;
};
typedef struct read_data_on_disk read_data;
但正如dbush在上面指出的,如果两个结构的内容相同,为什么要有两个结构?如果两个结构除了结构名称之外总是完全相同,为什么要有两个结构?使用
typedef struct read_data_on_disk read_data
。删除最后一个struct
。如果这两个结构除了结构名之外总是完全相同,为什么有两个结构?使用typedef struct read\u data\u on\u disk read\u data
。删除最后一个结构
。