假设我有一个已经定义好的标记为MyStruct
的结构体,假设x, y,...,z
是它的字段允许的值。那么为什么会是这样的:
struct MyStruct q = {x,y,..,z};
允许,但是
struct MyStruct q;
q = {x,y,...,z};
这是不被允许的吗?我发现这非常令人烦恼。在第二种情况下,我之前声明了q
,我需要逐个为每个字段分配一个值:
q.X = x; q.Y = y; ... q.Z = z;
其中X,Y,...,Z
是MyStruct
的字段。这背后有什么原因吗?