结构体:
struct Student
{
char name[32];
int age;
int sex;
char add[32];
};
上面只是一种数据类型(同int、char基本类型一样),表示是一个结构体,不占用地址空间,只有在定义结构体变量时才分配空间,即struct Student stu1;stu1才占有地址空间。
联合体(共用体):有时同一地址空间存放类型不同,不同类型的变量共享一块空间
结构体的元素有自己单独的空间,而共用体元素共享空间,空间的大小由最大的类型确定;
结构体元素互不影响,共用体赋值会导致覆盖,
union Test
{
int idata;
char cdata;
double ddata; //8字节
}
union Test u1;
u1.idata = 10;
u1.cdata = 20;
printf("idata = %d\n", u1.idata); // 这里的值为20,它把前面的值覆盖了
枚举:
枚举也是一种数据类型,也要定义
enum Weekend {sun,mon,tus,wed,thu,fri,sat};
标签:idata,int,u1,联合体,char,枚举,空间,结构 From: https://www.cnblogs.com/zj-studyrecoding/p/17281737.html