1 stuct:结构体 元素之间的和
顺序是有要求的,顺序的不同也会导致最后结构体的大小不同
struct myabc{
unsigned int a;
unsigned int b;
unsigned int c;
};
sturct myabc mybuf;
2,union 公体 公用起始地址的一段内容
unnion myabc{
char a;
int b;
};
unnion myabc abc;
3 enum
#define a (0)
#define b (1)
#define c (2)
enum abc{
a,b,c
};
ps:1,enum内的a,b,c就和define定义宏是一样的
2,abc可不要,只是一个别名,无意义。只是在使用的时候需要加上 enum abc myabc;
3,enum 不像结构体,内存由元素内存叠加,而是等于内部要用到的元素的内存
printf("%d",b);
printf("%d",abc.b); 会发生报错。myabc只是enum 的别名,例如enum abc = int
4,typedef:数据类型的别名
typedef int type_Int;
type_Int a = 20;
typedef enum workday
{
saturday,
sunday = 0,
monday,
tuesday,
wednesday,
thursday,
friday
} workday; //此处的workday为枚举型enum workday的(typedef)别名