栈与堆的区别及其探讨.pdfVIP

  • 1
  • 0
  • 约3.84千字
  • 约 3页
  • 2017-09-20 发布于浙江
  • 举报
IITT--HHoommeerr 专专栏栏 成成功功是是优优点点的的发发挥挥,,失失败败是是缺缺点点的的积积累累 !! 不不为为失失败败找找理理由由,, 为为成成功功找找 方方法法………… 栈栈与与堆堆的的区区别别及及其其探探讨讨 分类: C/C++/C# 2009-12-16 15:51 1532人阅读 评论 (0) 收藏 举报 数据结构编译器windowsbyte存储扩展 一一、、 堆堆与与栈栈有有什什么么区区别别?? 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区 (stack)— 由编译器 自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构 中的栈。 2、堆区 (heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中 的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区 (静态区) (static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一 块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放 4、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放 5、程序代码区—存放函数体的二进制代码。 例

文档评论(0)

1亿VIP精品文档

相关文档