- 5
- 0
- 约6.61千字
- 约 24页
- 2020-07-13 发布于黑龙江
- 举报
数据结构 2005.2 第一讲 指针与链表 教学内容 动态存储空间分配 分配内存空间函数malloc 释放内存空间函数free 指针应用—链表初步 指针与数据结构 用节点内部指针关联两个节点 单链表基本概念与操作 构造单链表 循环单链表结构 链表操作—搜索指定节点 链表操作—指定节点前插入新节点,递增有序 循环链表操作—搜索指定节点 双链表节点插入 程序 计算机的内存管理—动态存储分配 空闲块2 空闲块3 空闲块4 空闲块指针 项目a占用内存 函数1 项目a 申请内存区域 空闲块1 剩余内存区域 释放内存区域 函数执行完毕 空闲块1 一个任务所占用的内存是动态分配的 动态存储空间分配 C语言中,数组的长度必须是预先定义好的,即你不能使用超过定义的数组长度,否则可能会发生不可预料的状况。 C语言不允许动态数组类型。例如: int n; scanf(%d,n); int a[n]; 上面的语句是想用变量表示长度,通过变量对数组的大小作动态说明,这是错误的。 在实际的编程中,往往会发生这种情况,即所需的内存空间取决于实际输入的数据,而无法预先确定。对于这种问题,用数组的办法很难解决。 为了解决上述问题,C语言提供了一些内存管理函数,这些内存管理函数可以按需要动态地分配内存空间,也可把不再使用的空间回收待用,为
原创力文档

文档评论(0)