堆都是动态分配的,没有静态分配的堆;栈有静态分配和动态分配2种分配方式。
堆的生长方向是向下的,即向着内存地址减小的方向增长;栈的生长方向是向上的,即向着内存地址增加的方向增长。
对堆的频繁new/delete会造成内存空间的不连续,从而造成大量的碎片;栈则不会存在这个问题
栈是由编译器自动治理;堆的释放工作由程序员控制,轻易产生内存泄露。
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题