码迷,mamicode.com
首页 > 其他好文 > 详细

计算机栈和堆区别

时间:2016-08-03 22:09:26      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

堆和栈的对比

从以上知识可知,栈是系统提供的功能,特点是快速高效,缺点是有限制,数据不灵活;而堆是函数库提供的功

能,特点是灵活方便,数据适应面广泛,但是效率有一定降低。栈是系统数据结构,对于进程

/

线程是唯一的;堆是函数库内部数据

结构,不一定唯一。不同堆分配的内存无法互相操作。栈空间分静态分配和动态分配两种。静态分配是编译器完成的,比如自动变

量(auto)的分配。动态分配由alloca函数完成。栈的动态分配无需释放

(是自动的),也就没有释放函数。为可移植的程序起见,栈的动

态分配操作是不被鼓励的!堆空间的分配总是动态的,虽然程序结束时所有的数据空间都会被释放回系统,但是精确的申请内存

/

释放内存匹配是良好程序的基本要素。

 

计算机栈和堆区别

标签:

原文地址:http://www.cnblogs.com/yeyublog/p/5734385.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!