堆和栈有什么区别

1、概念

栈 stack:

存放函数的参数值、局部变量,由编译器自动分配释放

堆heap:

是由new分配的内存块,由应用程序控制,需要程序员手动利用delete释放,如果没有,程序结束后,操作系统自动回收

2、因为堆的分配需要使用频繁的new/delete,造成内存空间的不连续,会有大量的碎片

3、堆的生长空间向上,地址越大,栈的生长空间向下,地址越小

更多精选文章
标签: 生长、分配、delete、释放、地址
一个创业中的苦逼程序员
笔试题


刷题


简历模板


AI算法


大数据


内推


推荐阅读:
阿里巴巴笔试面试大全
腾讯笔试面试大全
百度笔试面试大全
今日头条笔试面试大全
网易笔试面试大全
Google笔试面试大全
更多笔试面试大全
隐藏