C语言自定义类型:结构体 联合体 枚举
程序员文章站
2022-03-09 15:16:43
...
自定义类型:结构体 联合体 枚举
结构体
创建一个学生的结构体
typedef struct Stu
{
char name[20];//名字
int age;//年龄
char sex[5];//性别
char id[20];//学号
}Stu;
打印结构体Stu成员函数
void printStu(Stu* pStu)//打印Stu
{
printf("%-8s%-5d%-5s%s\n", pStu->name, pStu->age, pStu->sex, pStu->id);
}
结构体内存对齐:
1.计算结构体大小
2.位段的内存分配
枚举
下面定义的 enum Day是枚举类型。 {}中的内容是枚举类型的可能取值,也叫 枚举常量 。这些可能取值都是有值的,默认从0开始,一次递增1,当然在定义的时候也可以赋初值。
enum Day//星期
{
Mon,//0
Tues,//1
Wed,//2
Thur,//3
Fri,//4
Sat,//5
Sun//6
};
联合体
联合也是一种特殊的自定义类型 这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间(所以联合也叫共用体)。联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小。
//联合类型的声明
union Un
{
char c;
int i;
};