假设我有struct
一个字段x
也是 a struct
(不是指向 a 的指针struct
)。
如果我说object.x = 0
,引擎盖下到底发生了什么?
我认为它不会编译,但我目前无法检查,但
object.x = {0};
应将所有字段初始化为 0。
更新
previous 无法编译,因为这只能在声明时完成,但以下是可以的
object.X = (struct struct1) {0};
这相当于
{
struct struct1 temp = {0};
object.X = temp;
}
你会得到一个编译错误。
error: incompatible types in assignment
您不能将 a 分配int
给结构变量。
不起作用。你会得到一个类型不兼容的错误,像这样:
incompatible types when assigning to type ‘struct X’ from type ‘int’.