前言:
今天朋友们对“结构体中的联合体”大致比较珍视,你们都想要了解一些“结构体中的联合体”的相关文章。那么小编也在网上网罗了一些对于“结构体中的联合体””的相关知识,希望大家能喜欢,兄弟们快快来学习一下吧!1、结构和联合都是由多个不同的数据类型成员组成,但是在任何一刻,联合中只存放了一个被选中的成员(因为所有成员共用一块地址空间),而结构的所有成员都存在(不同成员的存放地址不同)
2、对于联合体的不同成员赋值,将会对其他成员重写,原来成员的值就不存在了,而对于结构体的不同成员赋值是互不影响的
3、结构体所占总内存为其成员变量中所占空间最大数据类型的整数倍(成员之间可能会有缝隙),共用体占用的内存等于最长的成员占用的内存。共用体使用了内存覆盖技术,同一时间只能保存一个成员的值,如果对新的成员赋值,就会把原来的值覆盖掉
4、利用联合体验证大小端的问题
typedef union myunion { int a; char b;}my_union;//int main(int argc, const char * argv[]) { my_union myUnion; myUnion.a = 0x12345678; if(0x78 == myUnion.b) printf("little endian\n"); else printf("big endian\n");}
标签: #结构体中的联合体 #结构体中的联合体赋值是什么