可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量,但是需要满足一个条件。
整体赋值规则ansi/iso C规定:“相同类型的结构体是可以直接赋值的”;
合法赋值: 如date1和date2都是date结构体类型的变量,可以这样赋值:date1= date2;
非法赋值: 假设申明了两个成员列表完全一样的两个结构体类型(dataA,dateB),即使他们的成员列表是一样的,编译器会当作两个完全不同的类型,令两个结构体类型的变量间赋值,则是非法的。
但是这种问题不能靠试验获得准确的答案,因为你用的编译器支持并不表明其他编译器也支持。ansi/iso C规定的合法行为,编译器是必须支持的。