网站大量收购独家精品文档,联系QQ:2885784924

C语言系列之第15讲 链表.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言系列之第15讲 链表

1 指针与动态内存管理(1) 1.1 静态内存分配和动态内存分配 1 指针与动态内存管理(2) 1.1 静态内存分配和动态内存分配(续) 1 指针与动态内存管理(3) 1.2 动态内存管理函数 1 指针与动态内存管理(4) 1.2 动态内存管理函数(续) 1 指针与动态内存管理(5) 1.2 动态内存管理函数(续) 1 指针与动态内存管理(6) 1.2 动态内存管理函数(续) 1 指针与动态内存管理(7) 1.2 动态内存管理函数(续) 1 指针与动态内存管理(8) 1.2 动态内存管理函数(续) 1 指针与动态内存管理(7) 1.2 动态内存管理函数(续) 2 结构体与函数(1) 2.1 结构体变量作为函数参数 2 结构体与函数(2) 2.2 指向结构体变量的指针作为函数参数 2 结构体与函数(3) 2.3 返回结构体类型的函数 3 链表(1) 3.1 链表概述 3 链表(2) 3.1 链表概述—链表的特点 3 链表(3) 3.1 链表概述—链表结点的特点 3 链表(4) 3.1 链表概述 3 链表(5) 3.2 链表的基本操作—建立链表 3 链表(6) 3.2 链表的基本操作—建立链表—插表头方法 3 链表(7) 3.2 链表的基本操作 3 链表(8) 3.2 链表的基本操作—链表的插入操作 3 链表(9) 3.2 链表的基本操作—链表的删除操作 C语言程序设计 计算机与信息工程分院 C语言程序设计 计算机与信息工程分院 * * 第15讲 链表 主讲教师: 刘辉 email: liuhui@sjzri.edu.cn phone:office) * * 本讲主要内容 2. 结构体与函数 本讲小结 1. 指针与动态内存管理 3. 链 表 静态内存分配: 一旦确定了数据的类型,存储该数据所需的内存空间也随之确定。 如: int a[100]; float b[200]; 动态内存分配: 在程序执行过程中动态地分配或回收存储空间的内存管理方法。 动态内存管理函数 函数原型: void *malloc(unsigned int size) 函数功能: 在内存中开辟size大小的存储空间,并将存储空间的首地址作为函数的返回值 返回NULL:表示内存缺乏足够的空间进行分配 例1:利用动态数组,求前n个素数。 int n,*primes; scanf(“%d”,n); primes=(int *)malloc(n*sizeof(int)) 例1:利用动态数组,求前n个素数。 void main() { printf(请输入要求得的前n个素数的个数:\n); scanf(%d,n); primes=(int *)malloc(n*sizeof(int)); primes[0]=2; count=1; number=3; while(countn) { if (prime(number)) { count++; primes[count-1]=number; } number++; } } 例1 代码 int count,number,k; int n; int *primes; 函数原型: void *calloc(unsigned int num , unsigned int size) 函数功能: 在内存中开辟num个大小为size的存储空间,并将存储空间的首地址作为函数的返回值 返回NULL:表示内存缺乏足够的空间进行分配 函数原型: void *free(void *ptr) 函数功能: 将指针变量ptr指向的存储空间释放。ptr只能是在程序中执行过的malloc或calloc函数返回的地址。 返回:无返回值 函数原型: void *realloc(void *ptr , unsigned int size) 函数功能: 将指针变量ptr指向的存储区的大小改为size个字节, 并将新存储空间的首地址作为函数的返回值 返回NULL:重新分配不成功 例1(扩充):利用动态数组,求前n个素数。要求可多次输入要求的素数值,直到输入的n值为非正数时结束程序执行。 例1扩充 代码 返回主菜单 struct stud_type { char name[20]; long num; int age; char sex; } 传值参数传递方式 注意函数内结构成员的引用方式 void list ( struct stud_type student) struct stud_type { char n

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档