还剩20页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
c++课件第七章结构体、共同体和枚举contents•结构体(Structures)•共同体(Unions)目录•枚举(Enumerations)•结构体、共同体和枚举的综合应用01结构体(Structures)定义与创建010203定义结构体创建结构体变量结构体嵌套使用`struct`关键字定义一通过使用`struct`关键字后可以在一个结构体内部定个结构体,可以包含多个跟结构体名称来创建结构义另一个结构体,实现复不同类型的数据成员体变量杂的数据结构结构体的成员访问结构体成员默认成员初始化通过点运算符(`.`)来访问结构体变如果没有提供初始值,结构体的成员量的成员将自动初始化为相应类型的默认值修改结构体成员可以直接对结构体变量的成员赋值,以修改其值结构体的初始化默认初始化如果没有提供初始化值,结构体变成员初始化量将自动使用默认值进行初始化在定义结构体变量时,可以使用花括号`{}`来初始化其成员拷贝初始化可以使用一个已初始化的结构体变量来初始化另一个同类型的结构体变量结构体的初始化示例```cppstruct Point{结构体的初始化int x;int y;结构体的初始化01020304};Point p1={1,2};//使用花```Point p2=p1;//使用拷贝括号初始化成员初始化02共同体(Unions)定义与创建定义共同体是一种特殊的数据类型,可以存储不同类型的数据,但在任何时候只能存储其中的一种数据类型创建使用关键字`union`定义共同体,例如`union MyUnion{int i;float f;char c;};`共同体成员01共同体的成员变量共享同一块内存空间,因此一个成员变量的存储空间会被另一个成员变量覆盖02由于共同体的成员变量共享内存空间,因此共同体的长度是所有成员中最大的那个成员的大小共同体与结构体的区别结构体可以同时存储多种类型的数据,每个成员都有自己的内存空间,互不干扰共同体只能存储一种数据类型,所有成员共享同一块内存空间,一个成员的存储空间会被另一个成员覆盖03枚举(Enumerations)定义与创建枚举类型的定义通常包括枚举是一种用户定义的数枚举的名称和一组枚举成据类型,它包含了一组命员名的整数常量枚举类型可以具有作用域,即可以在定义枚举时指定其作用域在C中,可以使用关键字`enum`来定义一个枚举枚举成员是整数常量,它类型们在定义时被赋予一个整数值,默认从0开始,每次递增1枚举的成员枚举成员是整数常量,它们在定义时枚举成员的名称必须唯一,并且不能被赋予一个整数值使用C保留字作为枚举成员的名称枚举成员的值可以通过在定义时指定枚举成员可以在程序中使用,可以作其整数值来指定,也可以省略不指定,为常量值使用,也可以作为变量名使此时默认从0开始,每次递增1用枚举的应用场景枚举可以用于表示一组相关的常量值,例如一周的天数、枚举可以用于表示状态或选项,例如文件访问模式、鼠月份等标按钮状态等枚举可以用于简化代码和提高可读性,例如使用枚举代枚举可以用于实现安全的数据类型转换,例如将枚举类替一系列的常量值型转换为整数类型或字符串类型04结构体、共同体和枚举的综合应用结构体与共同体的结合使用结构体与共同体在内存管理上的差异01结构体通过堆栈进行内存分配,而共同体则共享同一块内存区域结构体与共同体的数据类型02结构体可以包含任意类型的数据,而共同体只能包含相同类型的结构体结构体与共同体的初始化方式03结构体可以使用默认构造函数进行初始化,而共同体则必须使用复制构造函数枚举在结构体和共同体中的应用枚举作为结构体的成员可以将枚举类型作为结构体的成员,用于表示不1同的状态或选项枚举在共同体中的作用在共同体中,枚举可以用于表示共享内存中的不2同区域或状态枚举在结构体和共同体中的优势使用枚举可以增加代码的可读性和可维护性,同3时减少出错的可能性三者在实际项目中的应用案例案例一学生信息管理系统学生信息管理系统需要存储学生的基本信息,如姓名、学号、成绩等可以使用结构体来定义学生信息,使用共同体来共享相同类型的学生信息,使用枚举来表示不同的成绩等级案例二游戏开发中的角色系统在游戏开发中,角色系统需要定义角色的属性、技能和状态可以使用结构体来定义角色属性,共同体来共享相同类型的角色技能,使用枚举来表示角色的不同状态THANKS感谢观看。
个人认证
优秀文档
获得点赞 0