- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言程序设计 - 第8章 结构体 * 链表的操作 链表的建立 从链尾到链头:新结点插入到链头 从链头到链尾:新结点插入到链尾 链表的遍历 删除结点 根据一定的条件,删除一个或多个结点 插入结点 根据一定的条件,把新结点插入到指定位置 C语言程序设计 - 第8章 结构体 * 建立链表 (从链尾到链头) head ai-1 ... ④ head = p; ② p = malloc(sizeof (struct node)); p-data = a[i]; ① for(i=0; in; i++) p ai ③ p-next = head; C语言程序设计 - 第8章 结构体 * 建立链表 (从链头到链尾) ai-1 ^ ... ④ p-next = q; ② q = malloc(sizeof (struct node)); q-data = a[i]; ① for(i=0; in; i++) ai ^ q ③ q-next = NULL; p ⑤ p = q; C语言程序设计 - 第8章 结构体 * 遍历链表 ... ai-1 ai ai+1 ... ③ p = p-next; p ① while(p) ② printf(%d, p-data); C语言程序设计 - 第8章 结构体 * 删除结点 ... ai-1 ai ai+1 ... ③ p-next = q-next; ④ free(q); ② q = p-next; p q ① if(p-next满足删除条件) C语言程序设计 - 第8章 结构体 * 插入结点 ... ai ai+1 ... ④ p-next = q; ② q = malloc(sizeof (struct node)); q-data = x; p ① if(p满足插入条件) q x ③ q-next = p-next; C语言程序设计 - 第8章 结构体 * 链表操作中需要注意的几个问题 注意考虑几个特殊情况下的操作 链表为空表 (head==NULL) 链表只有一个结点 对链表的第一个结点进行操作 对链表的最后一个结点进行操作 最后一个结点的next指针应为NULL 可以定义一个结构体类型用于表示结点的数据部分,以便于对数据的操作 C语言程序设计 - 第8章 结构体 * 结束 The End C语言程序设计 - 第8章 结构体 白 雪 飞baixf@ustc.edu.cn 中国科学技术大学电子科学与技术系Dept. of Elec. Sci. Tech., USTC Fall, 2003 第8章 结 构 体 C语言程序设计 - 第8章 结构体 * 目 录 结构体 结构体数组 指向结构体的指针 定义类型别名 动态存储分配函数 结构体的应用—链表 C语言程序设计 - 第8章 结构体 * 结构体 (Structure) 结构体概述 结构体类型的声明 结构体变量的定义 结构体变量的初始化 结构体变量的引用 C语言程序设计 - 第8章 结构体 * 结构体概述 结构体 将不同类型的数据组合成一个整体 用来表示简单类型无法描述的复杂对象 可以用结构体来定义用户自己的数据结构 举例 描述学生信息 num name sex age score addr 12039 Bill Gates M 40 76.5 New York C语言程序设计 - 第8章 结构体 * 结构体类型的声明 一般形式 struct [结构体名] { 成员表列 }; “成员表列”形式 类型 成员名; 类型 成员名; ... ... C语言程序设计 - 第8章 结构体 * 结构体类型声明的说明 (1) 声明了一种类型,而不是定义变量 结构体名可以没有,但是这样就无法再次使用该结构体类型了 成员表列中是成员(Member)的定义 成员的定义形式与变量定义相同 成员类型可以是另一结构体类型,但不可直接或间接递归嵌套 成员表列不可为空,至少要有一个成员 C语言程序设计 - 第8章 结构体 * 结构体类型声明的说明 (2) 注意{}不表示复合语句,其后有分号 同一结构体的成员不能重名 不同结构体的成员可以重名 结构体成员和其他变量可以重名 结构体类型与其成员或其他变量可重名 struct test { int test; } test; 结构体类型名称是struct 结构体名,注意struct关键字不能省略 C语言程序设计 - 第8章 结构体 * 结构体类型声明的说明 (3) 即使两个结构体声明中的成员类型、名称、顺序都完全一致,它们也是不同的类型 结构体类型也要“先声明,后使用” 如果结构体类型声明在函数内部,则该函数之外无法引用此结构体类型
您可能关注的文档
最近下载
- 普通高中语文课程标准(2017年版2020年修订).pdf VIP
- 科室运行病历自查及管理.docx VIP
- 2026年基金从业资格证之证券投资基金基础知识考试题库【历年真题】.docx VIP
- 健康经济学(巴塔查里亚 曹乾)课后判断题 答案Ch-11-comprehension-only.pdf VIP
- 2022年北京广播电视台招聘考试真题.docx VIP
- 廉洁教育教学课件.ppt VIP
- 《铁路轨道维护》课件——线路轨距、水平检查.pptx VIP
- 2025年春江苏开放大学农业资源环境分析实验报告一.docx
- 《企业党建品牌创建与管理指南》.pdf VIP
- 《铁路轨道维护》课件——线路轨向、高低检查.pptx VIP
原创力文档


文档评论(0)