C语言程序设计 课件 第九章 自定义数据类型_第1页
C语言程序设计 课件 第九章 自定义数据类型_第2页
C语言程序设计 课件 第九章 自定义数据类型_第3页
C语言程序设计 课件 第九章 自定义数据类型_第4页
C语言程序设计 课件 第九章 自定义数据类型_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

应用型系列教材C语言程序设计第九章自定义数据类型结构体类型01结构体类型有以下5个特点:定义一个结构体类型,系统不会为其分配内存单元。结构体类型由多个成员组成,成员的数据类型可以是整型、实型、字符型、数组,也可以是另一个已经定义的结构体类型。结构体类型是根据用户的需要来组合的。定义一个结构的语法格式01结构体类型有以下5个特点:结构体类型系统没有预先定义,当需要使用结构体类型数据时,用户都必须自己在程序中定义。已经定义的某种结构体类型可以作为一种数据类型,用来定义变量、数组、指针,这时才会给定义的变量、数组、指针分配内存单元。定义一个结构的语法格式01先定义结构,再定义结构体变量在定义结构类型的同时定义结构体变量直接定义结构体变量结构体变量的定义0203

结构体变量成员的引用表示结构体变量成员的语法格式如下:结构体变量名,成员名04结构体变量的初始化结构体变量初始化的语法格式与一维数组初始化的语法格式相似:结构体变量={初值表}05结构体数组数组的元素也可以是结构体类型。因此可以构成结构体数组。结构体数组的每一个元素都是具有相同结构类型的下标结构变量。指向结构体变量的指针变量其访问的语法格式如下:(*结构体指针变量).成员名指向结构体数组的指针指针变量可以指向一个结构体数组,这时结构体指针变量的值是整个结构体数组的首地址。结构体指针变量也可以指向结构体数组的一个元素,这时结构体指针变量的值是该结构体数组元素的首地址。结构体指针变量的定义和使用06结构体指针变量作为函数参数使用指针变量作为函数参数进行传送。这时由实参传向形参的只是地址,从而减少了时间和空间的开销。结构体指针变量的定义和使用06共用体0201共用体的定义共用体定义的语法格式如下:union共用体名{数据类型1

成员名1;数据类型1

成员名1...数据类型n

成员名n;};共用体变量的定义共用体变量成员的引用共用体变量的定义与结构体变量的定义相似,包括3种形式。与结构体变量类似,共用体成员的引用也有3种形式。02共用体变量的定义和使用共用体变量赋初值共用体变量也可以在定义时直接进行初始化,但这个初始化只能对第一个成员进行。链表03常用的内存管理函数有以下3个:分配内存空间函数malloc()分配内存空间函数calloc()释放内存空间函数free()动态存储分配01最简单链表的示意图链表的概念02对链表主要有以下几种操作:创建链表是指从无到有地建立起一个链表,即往空链表中依次插入若干节点,并保持节点之间的前驱和后继关系。检索操作是指按给定的节点索引号或检索条件查找某个节点。如果找到指定的节点,则称为检索成功;否则称为检索失败。链表的基本操作03对链表主要有以下几种操作:插入操作是指在链表中增加一个新节点,使线性表的长度加1,并且保持原有逻辑关系。删除操作是指在链表中删除一个节点,使线性表的长度减1,并且保持原有逻辑关系。链表的基本操作03枚举类型0401枚举类型的定义和枚举变量的说明枚举类型的定义枚举变量的定义枚举类型定义的语法格式如下:enum

枚举名{枚举值表};如同结构体和共用体一样,枚举变量也可以使用不同的方式定义,即先定义类型后再定义变量,也可以同时定义类型和变量。02枚举变量的赋值和使用枚举类型在使用时有以下规定:(1)枚举值是常量,不是变量。不能在程序中使用赋值语句再对它赋值。(2)举元素本身由系统定义了一个表示序的数值,从0开始顺定义为0、1、2...。用typedef定义类型05typedef定义类型步骤如下:(1)按定义变量方法先写出定义体。(2)将变量名换成新类型名。(3)最前面添加typedef。(4)使用新类型名定义变量。用typedef定义类型01常见错误06结构类型定义丢失分号把结构名当做变量名在定义结构

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论