在存储多个成员信息时,编译器会自动给struct的每个成员分配存储空间,所以struct可以存储多个成员信息,而union的每个成员都用同一个存储空间。对union的不同成员赋值,将会对其他成员重写,这些成员原来的值就不存在了,而对struct的不同成员进行赋值是互不影响的。
typedef union 定义联合体.typedef struct 定义结构体.联合体可以由不同类型的简单变量组合构成.结构体可以由不同类型的较复杂的变量组合构成.结构体里可以含联合体.联合体里不能含结构体.
struct 类型的内存分配是结合内部的所有变量大小和相关的,但不是简单的相加,从上面的例子就可以看出来, struct 类型的分配的内存大小是应该内部最大数据类型的整数倍,不足一倍的部分会自动补全成一倍大小,应该是编译器为了数据整齐,处理速度会快些把。 union 类型的内存分配,只是和联合体内的最大的...
typedef union 定义联合体.typedef struct 定义结构体.联合体可以由不同类型的简单变量组合构成.结构体可以由不同类型的较复杂的变量组合构成.结构体里可以含联合体.联合体里不能含结构体.