任何人都可以解释一下这有什么区别:
typedef struct{
char a[10];
int b;
char c[8];
...
}test;
Run Code Online (Sandbox Code Playgroud)
还有这个:
typedef struct test{
char a[10];
int b;
char c[8];
...
}test;
Run Code Online (Sandbox Code Playgroud)
谢谢
typedef struct{
char a[10];
int b;
char c[8];
...
}test;
Run Code Online (Sandbox Code Playgroud)
上面定义了一个匿名结构,并立即将其定义typedef为类型别名test.
typedef struct test{
char a[10];
int b;
char c[8];
...
}test;
Run Code Online (Sandbox Code Playgroud)
但是,这会创建一个名为struct的结构struct test,并为其添加一个结构typedef.
在第一种情况下,struct如果需要,您将无法转发声明.
还有一种哲学(我碰巧同意一点),typedef默认情况下所有结构都会使代码的可读性降低,应该避免使用.
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |