还剩25页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《结构体与共用体》PPT课件•结构体的定义与特性•结构体的创建与使用目录•共用体的定义与特性Contents•共用体的创建与使用•结构体与共用体的区别与联系•结构体与共用体的应用案例01结构体的定义与特性结构体的定义结构体是一种用户自定义的数据它由一组不同类型的变量组成,结构体可以包含基本数据类型类型,用于存储不同类型的数据每个变量都有自己的名称和数据(如int、char等)和自定义数类型据类型(如数组、结构体等)结构体的特性结构体的大小是固定的,不结构体可以包含函数指针,能动态地添加或删除成员变用于实现回调函数等功能量成员变量可以是不同的数据结构体可以嵌套,即一个结类型,但它们必须是同一结构体可以包含另一个结构体构体类型的实例作为其成员变量结构体的应用场景用于表示复杂的数据结构,如学生信息、01员工信息等用于实现面向对象编程中的类和对象的概02念在网络编程中,用于表示协议中的数据包03格式04在数据库编程中,用于表示记录的结构02结构体的创建与使用结构体的创建结构体是一种自定义的数据类型,可以包含多个不同类型的数据成员使用`struct`关键字定义结构体,例如`struct Student{int id;charname
[20];float score;};`定义了一个名为Student的结构体类型,包含id、name和score三个数据成员结构体的初始化01可以在定义结构体的同时进行初始化,也可以在声明变量后单独进行初始化02初始化时,按照数据成员在结构体中出现的顺序逐个进行赋值03例如`struct Studentstu1={1001,Tom,
90.5};`定义并初始化了一个Student类型的变量stu1结构体的访问方式01通过点运算符`.`访问结构体中的数据成员可以使用成员选择运算符`-`来通过指针访问结构体02中的数据成员例如`printf%d,stu
1.id;`或`printf%d,stu1-03id;`都可以输出stu1的id成员的值03共用体的定义与特性共用体的定义010203共用体是一种特殊的数据类型,共用体类型的变量在内存中占共用体类型的变量在声明时必可以用来存储不同类型的数据,据一段连续的存储单元,用来须进行初始化,否则编译器会但在任何给定时间只能存储其存放该变量所代表的数据报错中的一种数据类型共用体的特性共用体类型的变量在内存中只共用体类型的变量可以用来存占据一段连续的存储单元,而储不同类型的数据,但只能存不是多个独立的存储单元储其中的一种数据类型共用体类型的变量在任何给定共用体类型的变量可以用来实时间只能存储其中的一种数据现数据的共享和数据的复用类型,而不是同时存储多种数据类型共用体的应用场景实现数据的共享和数据的复用通过使用共用体类型的变量,可以将不同类型的数据存储在同一段内存中,从而实现数据的共享和数据的复用实现数据的模拟和仿真在一些复杂的模拟和仿真场景中,需要使用到大量的数据结构,而使用共用体可以有效地节省内存空间,提高程序的运行效率04共用体的创建与使用共用体的创建创建共用体的语法是union共用体名{成员列表};例如union DataType{int i;char c;float f;};共用体的初始化01共用体可以在声明时进行初始化,但只能初始化一次02初始化时,只能给共用体的第一个成员赋值03例如`union DataTypedata1={5};`共用体的访问方式访问共用体的成员时,需要使用`.`运算符由于共用体在任何时候只能存储其中的一种类型的数据,因此每次访问的成员都是最后一次存入的成员例如`data
1.i=10;`或`printf%d,data
1.i;`结构体与共用体的区别与联05系结构体与共用体的区别定义内存分配结构体是由多个不同或相同类型的数据项组成的结构体的内存分配是连续的,而共用体的内存分集合,通过类型名来标识;而共用体则是一种特配是非连续的殊的数据类型,用于存储不同类型的数据,但同一时刻只能存储其中一个数据数据存储访问方式结构体中的数据项是同时存在的,而共用体中的结构体的数据项通过结构体变量名和数据项名来数据项则是在不同时刻存储的访问,而共用体的数据项通过共用体变量名来访问结构体与共用体的联系0103都属于自定义数据类型都支持位字段结构体和共用体都是用户自定义结构体和共用体都可以定义位字的数据类型,可以根据实际需求段,用于存储固定长度的位序列定义不同的数据结构和属性0204可以嵌套使用都支持初始化在结构体中可以定义共用体类型结构体和共用体都可以在定义时的数据项,反之亦然进行初始化操作06结构体与共用体的应用案例结构体的应用案例案例一学生信息管理系统01结构体用于存储复杂数据02在学生信息管理系统中,可以使用结构体来存储每个学生的信息,包括姓名、03学号、成绩等通过结构体,可以将不同类型的数据组合成一个整体,方便数据的存储和操作结构体的应用案例案例二图形绘制系统结构体用于描述图形属性在图形绘制系统中,可以使用结构体来描述图形的各种属性,如颜色、位置、大小等通过结构体,可以方便地管理和操作图形的各种属性,提高绘图的效率和准确性共用体的应用案例案例一数据压缩与解压缩01共用体用于节省存储空间02在数据压缩与解压缩中,可以使用共用体来存储压缩数据03由于共用体可以同时存储不同类型的数据,因此可以在不增加存储空间的前提下,将多个数据压缩到一个共用体中,实现数据的压缩在解压缩时,再根据需要提取出各个数据共用体的应用案例案例二多线程编程共用体用于线程间通信在多线程编程中,可以使用共用体来实现线程间的通信由于共用体可以同时存储不同类型的数据,因此可以在一个共用体中存储多个线程需要共享的数据通过访问这些数据,可以实现线程间的通信和同步THANKS。