结构体总结
共用体(联合体)
1.一个结构变量的所占内存空间大小,一般大于或者等于结构中所有成员变量大小之和,成员变量在结构体内存空间按照定义的顺序依次存储。
2.共用体是将几种不同类型的变量存放在同一段内存单元中。
3.语法形式:
union 共用体名{
数据类型 成员名;
数据类型 成员名;
......
}共用体变量名;
4.共用体与结构体的定义形式相似,但是含义不同。结构变量所占内存长度一般等于或等于各成员占的内存长度之和,每个成员分别占有自己的内存单元。而共用体所占内存长度等于最长的成员长度。
5.注意:
同一内存段可以用来存放几种不同类型的成员,但是某一时刻只能存放其中一种。在某一瞬间只有一个成员起作用。
共用体变量中起作用的是最后一个存放的成员,在存入一个新成员后,原有的成员就失去了作用。
共用体变量的地址和其成员地址都是同一地址。
不同对共用体变量赋值,也不能在定义共用体变量时对其初始化。
枚举类型
1.语法形式:
enum 枚举名{
标识符[=整型常数],
标识符[=整型常数],
..........
标识符[=整型常数],
};
2.c语言编译器把枚举元素当做整型常量来处理。编译器会将第一个元素赋值为0,第二第三个依次赋值为1,2.....。
3.注意:
枚举中每个成员(标识符)结束符是",",最后一个成员可省略。
初始化时可以赋值负数,以后枚举仍依次加1。
枚举变量只能取枚举说明结构中的某个枚举元素。