C89:论结构体/枚举体/联合体的使用
一.Struct
1.struct的作用
一般用在多种不同数据类型集合里面,便于代码整洁,用于封装便于再次利用
struct默认是public,class默认是private
2.struct的使用
1.有结构名 struct A{ ... }; Struct A a; 2.有结构名和结构对象 struct A{ ... }O; Struct A a; 3.只有结构对象 struct{ ... }O,Array[100],*pO,;
//struct不能调用自身的对象,只能使用引用和指针指向自身 struct A{ A a; //错误 } struct A{ A* a; //正确 } struct A{ A& a; //正确 }
二.Typedef
1.Typedef的作用
可以给结构体起一个别名
2.Typedef的使用
//1.只有结构名 typedef struct A{ ... } struct A a; //2.结构名和结构类型(主要这里不是对象,对象可以直接引用,类型必须实例化对象) typedef struct A{ ... }O; O o; //起别名 //3.只有结构类型 typedef struct{ ... }O; O o;
三.枚举值
枚举值都是整型变量
四.联合体
共用一份成员变量的最大内存空间