- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 功能:用自定义名字为已有数据类型命名 类型定义简单形式: typedef type name; 类型定义语句关键字 已有数据类型名 用户定义的类型名 例 typedef int INTEGER; 例 typedef float REAL; 类型定义后,与已有类型一样使用 例 INTEGER a,b,c; REAL f1,f2; int a,b,c; float f1,f2; 说明: 1.typedef 没有创造新数据类型 2.typedef 是定义类型,不能定义变量 3.typedef 与 define 不同 define typedef 预编译时处理 编译时处理 简单字符置换 为已有类型命名 11.10 用typedef定义类型 本章作业 11.3 11.4 11.8 上机作业:实验10 预习:第13章 文件 * * * * 结构体是一种构造数据类型。 与其他高级语言中的“记录”类似。 * * * * * * * * * * * * * * * 存放结构体首地址 结构指针的运算按照C语言的地址运算原则进行.例如,结构指针加一将指向内存中下一个结构体。 * * * * * 在内存中可以不连续,访问某结点应找上一结点提供的地址,每一结点有一指针变量存放下一结点的地址。 链表的每个结点实际上是一个结构体变量,它有若干成员组成,包括的内容有两部分: 数据部分:整、实、字符、结构体等类型。 指针变量:通常具有指向自身结构体类型的指针变量,此指针变量用来存放下一结点的地址,以便一环扣一环而形成链表。 * * * * * * 11.7.4 建立动态链表 建立动态链表:是指在程序执行过程中从无到有地建立起一个链表,即一个一个地开辟结点和输入各结点数据,并建立起前后相链的关系。 例11.8 写一函数建立一个有3名学生数据的单向动态链表。 思路: ⑴ 设置3个指针变量head、p1、p2 head:指向链表头的指针变量,初始化head=NULL。 p1:指向后继结点的首地址的指针变量 p2:指向结点成员next的指针变量。next的值是下一个结点的首地址。 ⑵ 循环方式用malloc函数开辟第1个结点。n=1 p1、p2指向第1结点首地址 输入数据,如果p1??num !=0, 则head=p1结点链入链表,反之不链入。 (n=1) 10101 89.5 head p1 p2 ⑶ 开辟第2个结点:n=2 p1指向第2结点首地址。 输入数据。 如果p1??num !=0,链入2结点, 方法: p2??next=p1 (a) (n=2) head p2 p1 10101 89.5 10103 90 head p2 p1 10101 89.5 10103 90 (b) (n=2) head p2 p1 10101 89.5 10103 90 (c) (n=2) ⑷ 为建立第3个结点做准备: p2=p1,腾出p1 。 ⑸ 重复⑶⑷两步开辟第3个结点,并链入链表。 99101 89.5 99103 90 head p2 p1 99107 85 (a) n=3 99101 89.5 99103 90 head p2 p1 99107 85 (b) n=3 ⑹ 再开辟新结点,由于num数据为0,退出循环。 并使p2??next=NULL,虽然p1指向新结点但没有链入链表。 99101 89.5 99103 90 p2 p1 99107 85 (a) n=3 head 0 0 0 0 99101 89.5 99103 90 p2 p1 99107 85 NULL (b) n=3 head n=n+1 n==1 head=p1 p2??next=p1 真 假 (把p1所指结点作为第一个结点) (把p1所指结点连接到表尾) p2=p1 (p2移到表尾) 再开辟一个新结点,使p1指向它 读入一个学生数据给p1所指结点 表尾结点的指针变量置NULL 开辟一个新结点,并使p1, p2指向它 读入一个学生数据给p1所指向的结点 head=NULL, n=0 当读入的p1 ?? num 不是零 #include “stdio.h” #include “malloc.h” #define NULL 0 #define
您可能关注的文档
最近下载
- 2024-2025年数学选择性必修第一册共线向量与共面向量同步检测 2(带答案).docx VIP
- 数据治理概论课件:数据治理工具.pptx VIP
- 08J907 洁净厂房建筑构造.pdf VIP
- 04G323-2 图集钢筋混凝土吊车梁(工作级别A4、A5).pdf VIP
- 全国优质课一等奖统编版语文八年级上册唐诗五首《野望》《黄鹤楼》《使至塞上》《渡荆门送别》《钱塘湖春行》公开课课件.pptx
- 幼儿高热惊厥的急救处理.pptx VIP
- 惯性器件原理课件.pptx VIP
- 新版建设工程工程量清单计价标准解读.pptx VIP
- 危大工程专项施工方案.doc VIP
- 莫桑比克考察报告.pdf VIP
文档评论(0)