- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;学习目标;主要内容;8.2链表;例如:
char*pc;
pc=(char*)malloc(100);
表示开辟100个字节的内存空间
开辟空间的首地址强制转换为“char*”型
注意:malloc()函数并不能初始化所分配的内存空间,开辟的内存空间一般都是随机数;2.开辟内存空间函数calloc()
函数原型为:
void*calloc(int,int);
一般调用形式:
(类型说明符*)calloc(n,size);
功能:在内存动态存储区中分配n块长度为size字节的连续内存区域;
返回值:开辟区域的首地址;“(类型说明符*)”用于函数返回值的强制类型转换;calloc()函数与malloc()函数的区别
?calloc()一次可以分配n块区域,每块区域的长度都为size个字节。
例如:structstu*ps;
ps=(structstu*)calloc(2,sizeof(structstu));
sizeof(structstu)是求structstu型结构体数据的长度
功能:按structstu的长度分配2块连续的内存区域,并将该内存区域的首地址强制转换为structstu结构体指针类型,并将该地址赋给指针变量ps。;calloc()函数与malloc()函数的区别
?calloc()函数会将所开辟内存空间中的每一位都初始化为零,malloc()函数并不能初始化所分配的内存空间。
为字符类型或整数类型的元素分配内存,那么这些元素将保证会被初始化为0
为指针类型的元素分配内存,那么这些元素通常会被初始化为空指针NULL
为实型数据分配内存,则这些元素会被初始化为浮点型的零;3.释放内存空间函数free()
该函数的调用形式:
free(ptr);
功能:释放指针变量ptr所指向的内存空间,该空间是由malloc()或calloc()函数开辟的。
;二.链表简介;头指针;结点结构体类型定义如下
structnode //结点类型名
{
chardata; //数据域
structnode*next; //指针域
};
如存储学生相关的信息的结点定义
structStuNode
{
charnum[10]; //学号
charname[20]; //姓名
floatscore; //分数
structStuNode*next; //指针域
};;对链表的基本操作有建立链表、输出链表、查找结点、插入结点和删除结点等。
1.建立链表
建立单向链表的主要步骤:读取数据、申请存放新结点的存储空间、将数据存入结点空间、将新结点添加到链表中,重复上述操作直至结束。;2.输出整个链表
输出整个链表即从链表??头指针开始,按顺序依次访问链表中的各个数据结点,每访问到一个数据结点时就将该结点数据域中的内容输出。当访问到链表中的最后一个结点时,由于其指针域为空,所以可依此作为条件结束输出。;【例8-9】建立并输出一个学生数据的单向链表。学生数据包括:学号、姓名和成绩。
;3.查找结点
从链表的头指针开始,按顺序依次访问链表中的各个数据结点,查找关键字与当前结点数据域中内容,相等则查找成功,输出;如不等则移动指针查看下一结点。如访问到最后一个结点时仍未找到,则结束查找,提示不存在。;4.插入结点
开辟新结点用指针s指向,并将要插入的数据data存入新结点空间的数据域中,插入过程如图;5.删除结点
删除结点必须先查找到该结点及其直接前驱结点,并分别用指针指向,删除过程如图。删除后free(s)回收被删除结点的内存空间
您可能关注的文档
最近下载
- 数字化碳排放解决方案.docx VIP
- 六年级上册分数除法解决问题例7数学工程问题1省公开课获奖课件说课比赛一等奖课件.pptx
- 初中九年级历史教案-阿拉伯帝国-“十校联赛”一等奖.docx VIP
- 古建筑工程施工检验批质量验收记录.docx VIP
- 碳管理,碳核查,碳足迹,碳中和评价流程.pptx VIP
- 部编版语文八年级上册 白杨礼赞 课件PPT(附教案、说课稿).ppt
- 建设工程施工现场供用电安全规范.doc VIP
- 西门子SINUMERIK808D编程和操作手册车削第一部分:操作.pdf VIP
- 思考,让我们不断前行 前行广释第四十八课思考答案.doc VIP
- 供热管网施工应急处理措施.doc
文档评论(0)