2

假设我有struct一个字段x也是 a struct(不是指向 a 的指针struct)。

如果我说object.x = 0,引擎盖下到底发生了什么?

4

3 回答 3

2

我认为它不会编译,但我目前无法检查,但

object.x = {0};

应将所有字段初始化为 0。

更新

previous 无法编译,因为这只能在声明时完成,但以下是可以的

object.X = (struct struct1) {0};

这相当于

{
  struct struct1 temp = {0};
  object.X = temp;
}
于 2012-11-05T19:29:18.213 回答
2

你会得到一个编译错误。

error: incompatible types in assignment

您不能将 a 分配int给结构变量。

于 2012-11-05T19:30:14.017 回答
1

不起作用。你会得到一个类型不兼容的错误,像这样:

incompatible types when assigning to type ‘struct X’ from type ‘int’.
于 2012-11-05T19:30:48.413 回答