【发布时间】:2012-02-04 15:59:08
【问题描述】:
C11 标准中添加了匿名结构,所以
typedef struct {
struct {int a, b};
int c;
} abc_struct;
有效且标准。使用 typedef 代替完整的结构声明是否也在标准范围内?例如:
typedef struct {
int a, b;
} ab_struct;
typedef struct {
ab_struct;
int c;
} abc_struct;
GCC 文档说这是一个 Plan 9 扩展,但它在 我尝试过的几个编译器(包括 GCC ......)。通过阅读标准本身, 我认为没关系,但这是一种很容易搞砸的细读。
【问题讨论】: