堆和栈的概念和区别

无纺布2022-07-23  7

堆和栈的区别 堆和栈有什么区别

堆和栈之间有五个主要区别,即:

1.应用方法不同。栈是系统自动分配的,堆是应用创建的;

2.不同的应用规模。栈得到的空较小,堆得到的空较大;

3.应用效率的差异。Stack由系统自动分配,速度较快,而heap一般较慢;

4.不同的存储内容。调用函数时,先将函数调用语句的下一个可执行语句的地址放入堆栈,然后将函数的参数放入堆栈,其中静态变量不放入堆栈。堆通常以一个字节为头存储堆的大小,堆中的具体内容是人为安排的;

5.底层就不一样了。栈是连续的空,堆是不连续的空。

转载请注明原文地址:https://juke.outofmemory.cn/read/854240.html

最新回复(0)