书目《C程序设计(第三版)》
(一)结构体 有时候需要将不同类型的数据组合成一个有机的整体,以便于引用。 声明一个结构体类型的一般形式为: struct 结构体名: {成员表列}
(二)共同体(也称联合) 有时需要使几种不同类型的变量存放到同一段内存单元中。 1、定义共同体类型变量的一般形式为: union 共同体名 {成员表列 }变量表列; 2、共用体类型数据的特点: a.同一个内存段可以用来存放几种不同类型的成员,但在某一瞬间只能存放其中一种; b.共同体变量中起作用的成员是最后一次存放的成员; c.共用体变量的地址和它的成员的地址都是同一个地址; d.不能在定义共同体变量时对它初始化,不能对共用体变量名赋值,也不要企图引用共同体变量名来得到一个值; e.不能把共同体变量作为函数参数,也不能使函数带回共同体变量,但是可以使用指向共同体变量的指针;
(三)结构体和共同体的不同 结构体变量所占内存长度是各成员所占的内存长度之和,各个成员分别占有其自己的内存单元; 共同体变量所占的内存长度等于最长的成员的长度;