堆和栈的区别

来源:互联网 发布:json软件 编辑:程序博客网 时间:2024/05/20 00:14

在管理方法上:对于栈,由编译器自动管理,无需我们手动控制。对于堆,释放工作由程序员控制,容易产生内存泄露。

在申请大小上:栈是向低地址扩展的数据结构,是一块连续的内存区域。堆是向高地址扩展的数据结构,是不连续的内存区域。

在分配方式上:堆都是动态分配的,动态分配有alloc函数进行分配。栈的动态分配由编译器进行释放,无需我们手工实现。

1 0
原创粉丝点击