堆栈中栈区和堆区他们有什么区别,刚刚学习数据结构,求朋友指点。
收起
c语言的内存模型分为五个区,分别为:堆区(heap)、栈区(stack)、静态区、常量区、代码区、
栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。
栈区主要存储变量、引用,比如int x;bool y;等等,堆主要存储的是实例对象,比如new 一个对象.
报告相同问题?