黑马程序员技术交流社区
标题:
堆空间内存与栈空间内存的区别
[打印本页]
作者:
hee
时间:
2014-12-11 11:50
标题:
堆空间内存与栈空间内存的区别
本帖最后由 hee 于 2014-12-14 21:58 编辑
堆空间内存与栈空间内存的区别
作者:
sweet凌风
时间:
2014-12-11 12:32
栈:存放函数的参数值,局部变量的值等。栈内存分配运算在指令集中,效率高,分配内存有限.
堆:程序在运行的时候用malloc或new申请内存,在适当的时候用free或delete释放内存。动态内存不再使用,需要释放掉,否则,我们认为发生了内存泄漏现象。
数据结构还是很重要的,不要光看着语言设计(我是菜鸟,求共同进步)
作者:
hee
时间:
2014-12-11 15:48
sweet凌风 发表于 2014-12-11 12:32
栈:存放函数的参数值,局部变量的值等。栈内存分配运算在指令集中,效率高,分配内存有限.
堆:程序在运行 ...
高手,答的真好。
作者:
Littlekin
时间:
2014-12-11 16:03
在OC中,堆内存是自动分配的,存储是OC对象,需要手动释放。
栈内存是系统自动分配的,一般存放的是基本数据类型和局部变量,不需要手动管理内存。
作者:
stonelv0101
时间:
2014-12-11 16:46
举例说明:
以引用变量为例,引用变量本身存储在栈中,引用变量指向的值存储在堆中。
如int[] array = {0, 1, 2, 3, 4};
变量arr(数组名)存储在栈中,变量arr的值(数组元素)存储在堆中(普通结构)。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2