态内存分配_链表.pptVIP

  • 1
  • 0
  • 约1.34万字
  • 约 83页
  • 2017-01-30 发布于北京
  • 举报
批量数据的存储 批量数据的存储方式: 数组存储的缺陷: 必须预先指定数组的大小 链表: 不需要事先指定空间大小,动态分配与释放 1-1 C程序的内存划分 1、栈区(stack):编译器自动分配释放,存放函数参数、局部变量等。 2、堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由操作系统回收。 3、全局区(静态区)(static):存放全局变量和静态变量,其中初始化的全局与静态变量在一块区域,未初始化的全局与静态变量在相邻的另一块区域。程序结束后由系统释放。 4、文字常量区:存放常量字符串,程序结束后由系统释放。 5、程序代码区:存放函数体的二进制代码。 3单链表结点的基本操作 查找结点 插入结点 删除结点 3-1结点的查找 数组由于是用地址连续的空间存放元素,利用数组名+下标的方式可以实现对元素的随机查找; 单链表是用地址离散的空间存放元素的,不能直接知道每一个结点的存放地址,只能从头指针所指结点开始逐个往后才能找到要访问的结点,因此也称单链表是一种“顺序存取”的结构。 3-1结点的查找 单链表的查找过程: 设置头指针与游动指针; 其中头指针提供了在链表中查找的起始位置; 游动指针从该起始位置开始逐个往后“游走”,直到找到要找的结点或者到了链表结束停止查找。 struct node { int data; struct node

文档评论(0)

1亿VIP精品文档

相关文档