【发布时间】:2014-06-13 22:25:57
【问题描述】:
如果执行以下代码,data1的内容是什么?
struct {
int a;
char b;
}st1;
struct {
char c;
int d;
}st2;
main()
{
struct st1 data1 = {0};
struct st2 data2 = {'A',10};
data1 = data2;
}
【问题讨论】:
-
你的代码不是有效的 Ansi 代码,你必须说 struct st1 {...}, struct st2 {...},
-
如果你修复你的结构声明,它仍然无法编译,你会得到一个错误,例如“错误:从类型‘struct st2’分配给类型‘struct st1’时类型不兼容”
标签: c linux struct variable-assignment assignment-operator