谁能解释一下这之间有什么区别:
typedef struct{
char a[10];
int b;
char c[8];
...
}test;
还有这个:
typedef struct test{
char a[10];
int b;
char c[8];
...
}test;
谢谢
最佳答案
typedef struct{
char a[10];
int b;
char c[8];
...
}test;
上面定义了一个匿名结构,并立即typedef
将其作为类型别名test
。
typedef struct test{
char a[10];
int b;
char c[8];
...
}test;
然而,这会创建一个名为 struct test
的结构,并为其添加一个 typedef
。
在第一种情况下,如果需要,您将无法转发声明struct
。
还有一个 philosophy (我恰好同意这一点),默认情况下 typedef
ing 所有结构会使代码的可读性降低,应该避免。
关于c - typedef 结构说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40975298/