【发布时间】:2013-04-11 05:50:45
【问题描述】:
我在看一些c代码,发现有些struct包含union name,没有变量名,就像下面的例子:
typedef union Lock Lock;
union Lock{
uint32 key;
};
struct Test{
Lock;
uint32 name1;
};
Lock inside 测试是什么意思? PS。 uint32 类型在这两个声明之前已经定义好了。
【问题讨论】:
-
那不是有效的 C。它不会按原样编译。
-
此代码无法编译,因为声明缺少终止分号,
uint32未定义,Lock;不是有效声明。您应该显示self-contained, compilable example 并指定您正在使用的编译器和开关。 -
@hyde 是的,有一个 typedef union Lock 锁。抱歉,这是我第一次尝试在这里发帖。我将在未来处理格式。谢谢。