联合型union 和结构体struct有什么区别?
u1.k和u1.x的值是哪来的
结构体中的元素都有自己的存储空间,而联合体中的成员共用一块内存。
u1.k和u1.x的值是因为26行代码的A
你知道共用体union的含义吗? 他的知识点是,内部所有成员公用一个内存,他的内存是内部所有成员中占内存最大的那个,使用时,union一般只给其中一个成员赋值并使用的,按类型进行取而已,这里有值,是因为本身就是同一块地址,只是类型不同而已。 (只放其中类型的一种而已,可以百度这个的基础知识练习一下。)
而struct不一样,每个成员都是独立的内存,struct结构占用的内存大小是内部所有成员的和,不同的成员指向的地址都是依次有独立的。
特别注意union的使用场景!!!