堆和栈的区别是什么?栈由系统自动分配吗?堆和栈的区别与不同介绍

2022-01-10 20:19:48
来源:php中文网

堆与栈的区别有:1、栈由系统自动分配,而堆是人为申请开辟;2、栈获得的空间较小,而堆获得的空间较大;3、栈由系统自动分配,速度较快,而堆一般速度比较慢;4、栈是连续的空间,而堆是不连续的空间。

堆和栈的区别

堆和栈的区别主要有五大点,分别是:

1、申请方式的不同。栈由系统自动分配,而堆是人为申请开辟;

2、申请大小的不同。栈获得的空间较小,而堆获得的空间较大;

3、申请效率的不同。栈由系统自动分配,速度较快,而堆一般速度比较慢;

4、存储内容的不同。栈在函数调用时,函数调用语句的下一条可执行语句的地址第一个进栈,然后函数的各个参数进栈,其中静态变量是不入栈的。而堆一般是在头部用一个字节存放堆的大小,堆中的具体内容是人为安排;

5、底层不同。栈是连续的空间,而堆是不连续的空间。

关键词: 区别 堆和栈 自动分配 系统

[责任编辑:]

为您推荐

时评

内容举报联系邮箱:99 25 83 5@qq.com

豫ICP备2020035338号-6 营业执照公示信息

Copyright © 2010-2020  看点时报 版权所有,未经许可不得转载使用,违者必究。