我想了解为什么使用这个结构定义,我们可以直接使用名称
event
来给结构成员赋值。我见过其他定义,其中使用struct
关键字来赋值。struct {
int eventNum;
int eventType;
} event;
void function() {
event.eventNum = 10;
}
struct Name {int stuff;} variable;
和struct {int stuff;} variable;
不完全相同,因为第二个是不完整的结构体变量声明。 - 0___________struct
的问题就有超过十万个。所以,这大约占所有仅关于structs
的问题的0.9%。在我看来,这并不是什么大问题...然而,这绝对很重要。 - ForceBrustruct { int stuff; } variable;
中,一旦到达}
,结构类型就是完整的。它只是一个无名类型;因为没有标签允许该类型被命名,所以不能创建其他相同类型的变量 — 尽管您可能能够在其他翻译单元中创建兼容的类型(标准中的这部分内容很难理解)。 - Jonathan Leffler