C语言程序设计 第8章 链表与动态空间管理.pptxVIP

  • 30
  • 0
  • 约6.04千字
  • 约 57页
  • 2020-03-17 发布于江苏
  • 举报

C语言程序设计 第8章 链表与动态空间管理.pptx

第8章链表与动态空间管理8.1 内存空间管理堆区动态存储区栈区程序内存储空间的分配与管理数据段静态存储区代码段1.程序占用内存储空间的组成当程序运行时,系统为其分配需要的内存储空间。该空间由堆区、栈区、数据段和代码段组成。堆区动态存储区栈区数据段栈区:由编译器自动分配与释放,主要用于存放函数的参数,局部变量等对象的值。静态存储区代码段堆区:允许程序在运行时,动态地从中申请其需要的存储空间。一般由程序员分配及释放,若不释放,将导致“内存泄漏”。堆区动态存储区栈区数据段数据段:由只读数据段、已初始化的读写数据段和未初始化段三部分组成。静态存储区代码段代码段:存放可执行程序的代码。2.静态和动态存储方式⑴静态存储方式指在程序编译期间分配固定的存储空间的方式。当程序运行时,在静态存储区的数据段为其分配空间。该存储方式通常是在变量定义时就分配存储单元,并一直占用,直至整个程序运行结束。如:程序中的全局变量,局部静态变量等都采用这种存储方式。⑵动态存储方式动态存储方式指在程序运行期间根据需要进行动态的分配存储空间的方式。程序运行时在动态存储区为其分配空间。程序中的“动态存储变量”是在程序执行过程中,使用它时才分配存储单元,使用完毕立即释放。如:函数的形式参数、定义的动态变量等都采用这种存储方式。 3.静态和动态存储分配⑴静态存储分配程序中定义的动态对象(如:变量)一般在栈上分配其存储空间,其分

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档