【发布时间】:2021-04-30 13:49:52
【问题描述】:
我遇到了具有以下语法的嵌套结构和联合。我不确定如何更正以下语法。
typedef 结构 1 { .. .. 联盟 { 结构 { .. .. }var1; 结构 { ... ... ... }var2; } .. .. }name_to_struct1
谁能解释这里出了什么问题,以及必须如何给出语法。我看到抛出的错误是 "struct 1" has no member named var1
注意:我使用的编译器不是 C11,因此应避免使用这种类型的未命名结构/联合。
【问题讨论】:
-
我需要更多的上下文,因为对我来说 "typedef struct { union { struct { int a; double b; }var1; struct { int c; double d; }var2; }; } name_to_struct1; printf("%d\n", asd.var1.a);"这行得通。什么是编译器?
-
C96 编译器。此处为避免编译器警告,使用了一些扩展,但现在我需要删除这些扩展并格式化此语法,以便在没有任何问题的情况下构建它(警告)
标签: c syntax structure union naming