- 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)回收被删除结点的内存空间
您可能关注的文档
- 离合器的结构与检修课件讲解.pptx
- 理货课件讲解.pptx
- 力法课件讲解.pptx
- 力矩扳手和力矩扳手的使用规范课件讲解.pptx
- 量化课件讲解.pptx
- 列车运行中发生火灾时的处置课件讲解.pptx
- 中药化学全套教学课件.pptx
- 《无人机测绘技术》全套教学课件.pptx
- 二年级语文上册第1_8单元测试卷汇总精品新人教版.docx
- 河北省张家口市崇礼第一中学2024_2025学年高二文综上学期期中试题.doc
- 2024精简护肤洁面趋势报告-TMIC-30正式版.doc
- 2024捕捉华夏民族珍味-咸味主食与咸味零食创新机遇报告-25正式版.doc
- 2024年秋季部编版小学道德与法治二年级上册全册课件PPT最新.pptx
- 部编版第十一册第四单元拓展提高教学课件.ppt
- 2024年秋季新西师大版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋新人教版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋季新人教版数学一年级上册全册教学课件(新版教材).pptx
- 2024年秋季新人教版数学一年级上册全册课件(新版教材).pptx
- 2024年秋季新人教版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋季新人教版一年级上册数学全册课件(新版教材).pptx
最近下载
- 中华民族共同体概论课件专家版15第十五讲:新时代与中华民族共同体建设.pdf VIP
- G晴天周杰伦钢琴谱.pdf
- 得力函数型计算器D991ES使用说明书.pdf
- 事业编药学类考试真题.doc VIP
- 居住区规划概念生成与发展研究.pptx
- 2022年中国自然教育行业市场经营管理及投资前景预测报告(更新版).docx VIP
- 2023年天津工业大学软件工程专业《计算机组成原理》科目期末试卷A(有答案).docx VIP
- 中华民族共同体概论课件专家版12第十二讲:民族危亡与中华民族意识觉醒(1840-1919).pdf VIP
- JGJT 152-2019 混凝土中钢筋检测技术标准.pdf VIP
- 大学生实验室安全知识竞赛题库及答案(1500题).docx VIP
文档评论(0)