C语言程序设计能力教程 赵凤芝 等 第9章-结构体、共同体和枚举类型的应用新.pptVIP

C语言程序设计能力教程 赵凤芝 等 第9章-结构体、共同体和枚举类型的应用新.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第九章 结构体与共用体 第一节 结构体 结构体是一种构造数据类型 用途:把不同类型的数据组合成一个整体-------自定义数据类型 1. 结构体类型定义 2 结构体变量的定义 先定义结构体类型,再定义结构体变量 一般形式: 定义结构体类型的同时定义结构体变量 一般形式: 3 结构体变量的引用 引用规则 结构体变量不能整体引用,只能引用变量成员 4 结构体变量的初始化 形式一: 第九章 C语言中结构体、共同体和枚举类型的应用 第五节 结构体应用――链表 三、结点查找 结点的查找过程是从第一个结点出发,顺序查找。用函数find()来完成这一功能,该函数有两个参数:链表头指针和指定数据项值。 struct int_node *find(struct int_node h ,int key) { struct int_node *v=h; while((v!=NULL)(v-value!=key)) v=v-next; return v; } 第九章 C语言中结构体、共同体和枚举类型的应用 第五节 结构体应用――链表 四、 结点插入 a c …… (2)查找到a,准备将b插到a之后, 先保存结点c的地址给u u a c …… (1)b结点插入之前 a c …… (3)b结点插入之后 b 图9-4 结点插入示意图 前面介绍的建立链表是通过结点的逐个添加实现的,相当于结点插入的特殊情况,即插在链表的最末端的情况,实际上结点插入可以在链表的任意位置进行。由于单向链表中的结点只能找到其后继结点,因此要确定插入结点的位置,即插入在哪两个结点之间,须设一指针记住考察过的结点地址,否则两个结点断开,其后继结点就不能再寻找到了。如图9-4所示。 第九章 C语言中结构体、共同体和枚举类型的应用 第五节 结构体应用――链表 五、结点删除 对于链表操作,除了建立链表、查找结点、插入结点外,删除结点也是常用操作之一。它的操作步骤如下: 1、查找到欲删除的结点; 2、分别保存要删除结点的前驱和后继地址; 3、把后继地址赋给前驱的指针项; 4、释放当前删除结点的内存。 如在正整数链表中,要删除指针w所指向结点的后继结点p,如图9-5所示,可用下列语句实现: p=w-next; w-next=p-next; p-next=NULL; c …… a b (1)找到b结点 c …… a b (2)将c地址赋值给a的指针项 图9-5 删除结点示意图 * * struct [结构体名] { 类型标识符 成员名; 类型标识符 成员名; ……………. }; 成员类型可以是 基本型或构造型 struct是关键字, 不能省略 合法标识符 可省:无名结构体 例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; name num sex age score addr 2字节 2字节 20字节 1字节 4字节 30字节 … ….. 结构体类型定义描述结构 的组织形式,不分配内存 结构体类型定义的作用域 例 struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }; struct student stu1,stu2; struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; ……………. }; struct 结构体名 变量名表列; 例 #define STUDENT struct student STUDENT { int num; char name[20]; char sex

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档