分类: C/C++
2009-03-16 14:03:48
这里不谈论其所构成的数据结构,只谈为其所分配的内存空间。
因为前几天的笔试好像给做错了,回想起来,基本功太不扎实了。
struct结构体类型分配内存:各成员所占内存之和,相加即可。
union共用体类型型分配内存:各成员的起始地址相同,分配的内存长度为其中占内存最大的成员所占空间。
在pc机上验证如下:
|
|
共用体:几种不同类型的变量放到同一段内存单元,使用覆盖技术,几个变量互相覆盖。即共用同一段内存。
注:
1.一瞬时只能存放成员中的一种,每瞬间只有一个成员起作用,其他成员不起作用。即各成员不是同时存在的。
2.起作用的成员是最后一次存放的成员。
不能对共用体变量赋值。不能在定义时初始化,不能作为函数参数。只可以使用共用体指针。
具体还没有使用过union,见到的也不多。记在这里,以后见到就不陌生了。