C语言自定义类型:结构体 联合体 枚举

自定义类型:结构体 联合体 枚举

结构体

●创建一个学生的结构体

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.计算结构体大小
C语言自定义类型:结构体 联合体 枚举_第1张图片
2.位段的内存分配
C语言自定义类型:结构体 联合体 枚举_第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;
};

你可能感兴趣的:(C语言,enum,c语言)