栈(stack)和堆(heap)的区别
一、内存分配方式不同栈区(stack):编译器自动分配释放
堆区(heap):一般由程序员分配释放
二、申请方式不同
栈区(stack):由系统自动分配
堆区(heap):C语言【malloc分配空间,free释放】C++【new分配,delete释放】
三、申请效率不同
栈区(stack):速度快,程序员不可控
堆区(heap):速度较慢,程序员可控
总结:
栈使用快捷,但自由度小;
堆比较麻烦,但自由度大。
一致搞不懂 一个自下而上,一个自上而下 学习一下 栈(Stack)和堆(Heap)是两种不同的数据结构,它们主要用于存储数据,在编程和计算机科学中扮演重要的角色
页:
[1]