还剩34页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《结构体共用体》PPT课件•结构体的定义与特点contents•结构体的创建与使用•结构体的嵌套目录•共用体的定义与特点•共用体的创建与使用•结构体与共用体的区别与联系01结构体的定义与特点结构体的定义结构体是一种用户自结构体的成员可以是定义的数据类型,用基本数据类型,也可于存储不同类型的数以是其他结构体类型据结构体可以包含多个成员,每个成员可以是不同的数据类型结构体的特点结构体提供了更大的灵活性,结构体可以包含不同类型的数结构体可以提高代码的可读性允许用户自定义数据结构据,方便数据的组合和管理和可维护性结构体的应用场景在需要对多个相关的不同类型数据进结构体在处理复杂数据时非常有用,行处理时,可以使用结构体来简化代例如在处理学生信息、员工信息等码结构体可以用于实现链表、栈、队列等数据结构02结构体的创建与使用结构体的创建结构体是一种自定义的数据类型,可以包含多个不同类型的数据成员使用`struct`关键字定义结构体,并指定结构体的名称和数据成员例如`struct Student{int id;char name
[50];float score;};`定义了一个名为Student的结构体,包含id、name和score三个数据成员结构体成员的访问使用`.`运算符来访问结构体成员通过结构体变量名和`.`运算符来例如`Student s;s.id=1;访问结构体中的数据成员s.name=Tom;s.score=
90.5;`通过s来访问和修改Student结构体的数据成员结构体的初始化在定义结构体时可以直接初始化使用花括号`{}`来初始化结构体例如`Student s={1,Tom,结构体变量变量,并按照数据成员的顺序进
90.5};`在定义Student结构体时行初始化直接初始化s变量03结构体的嵌套单层嵌套•定义在一个结构体内部定义另一个结构体,称为单层嵌套单层嵌套示例```c`struct Outer{单层嵌套•struct Inner{单层嵌套int x;int y;}inner;单层嵌套•int z;单层嵌套};````特点方便组织数据,提高代码可读性多层嵌套•定义在一个已经嵌套的结构体内部再定义另一个结构体,称为多层嵌套多层嵌套示例01```02c`struct Inner1{03多层嵌套int a;struct Inner2{多层嵌套int b;1int c;2}inner2;3多层嵌套•}inner1;`多层嵌套```特点可以创建复杂的数据结构,但需要注意避免过度嵌套,以免降低代码可读性嵌套结构体的应用010203数据组织自定义数据类型数据封装通过嵌套结构体可以将相通过嵌套结构体可以创建嵌套结构体可以隐藏内部关数据组织在一起,方便自定义的数据类型,方便实现细节,提高数据的安管理和使用特定问题的处理全性和稳定性04共用体的定义与特点共用体的定义共用体是一种特殊的数据类型,可以用共用体类型的变量在内存中占据一段连共用体类型的变量在声明时必须进行初来存储不同类型的数据,但在任何时候续的存储单元,用来存放该变量所代表始化,否则编译器会报错只能存储其中的一种数据类型的数据共用体的特点01020304共用体类型的变量在内存中只共用体类型的变量可以存储不共用体类型的变量可以用来实共用体类型的变量可以用来实占据一段连续的存储单元,而同类型的数据,但在任何时候现数据的共享,即多个变量可现数据的压缩,即通过共享内不是多个独立的存储单元只能存储其中的一种数据类型以同时访问同一个内存地址存来减少内存的使用量共用体的应用场景在某些情况下,我们需要实现数据的共享和压缩,这时也可以使用共用体来实现单击此处添加正文,文字是您思想的提一一二三四五在某些情况下,我们需要将结构体中的某些字段合并六七八九一二三四五六七八九一二三四五六七八九文,在一起,这时也可以使用共用体来实现单击此处添加正文,文字是您思想的提炼,为了最终呈现发布的良好效果单击此4*25}05共用体的创建与使用共用体的创建共用体的定义共用体是一种特殊的数据类型,可以包含多个不同类型的数据在C语言中,可以使用`union`关键字来定义一个共用体共用体的特点共用体中的所有成员都占用相同的内存空间,即它们在内存中是重叠的在同一时刻,只能存储共用体中某一个成员的值共用体成员的访问访问共用体成员的方式要访问共用体中的成员,需要先定义一个共用体变量,然后通过该变量来访问其成员注意事项由于共用体中的所有成员都占用相同的内存空间,因此在访问某个成员时,必须保证该成员在内存中是有效的,否则可能会导致未定义的行为共用体的初始化初始化共用体的方式可以使用赋值语句或直接在定义时对共用体进行初始化注意事项在对共用体进行初始化时,必须保证所有成员都被初始化为一个有效的值,否则可能会导致未定义的行为06结构体与共用体的区别与联系结构体与共用体的区别存储方式初始化方式成员访问方式结构体中的各个成员各自占有自结构体可以使用各种方式进行初结构体的成员可以通过`.`运算符己的内存空间,而共用体中所有始化,包括直接赋值、通过函数进行访问,而共用体的成员需要成员共享同一块内存空间返回值初始化等而共用体只能通过`-`运算符进行访问通过直接赋值的方式进行初始化结构体与共用体的联系内存分配用途嵌套在某些情况下,结构体和结构体和共用体都可以用结构体和共用体都可以嵌共用体在内存中的分配方来组合多个不同类型的数套使用,即在一个结构体式可能相似,都涉及到对据,实现数据的封装和组或共用体中定义另一个结内存的紧凑利用合构体或共用体THANKS感谢观看。