当前位置:主页 > 生活知识 >

堆和栈的区别(C语言中堆和栈的区别)

  • 生活知识
  • 2023-09-10 10:35
  • 来源:www.renliuw.cn
  • 生活知识

数据结构里堆和栈,原理差不多都是先进后出,堆一般是一个二叉树,是非线性,比如堆排序。栈往往是线性。

C语言里堆和栈是操作系统对内存管理实现的两个不同部分。

栈空间是操作系统自己管理,分配,释放也是操作系统做。普通局部变量都存在栈里。

堆区的空间是用户自己分配管理,比如每一次malloc必须自己free。要不然操作系统不会帮你释放。

C语言还有一个代码段,这个区域程序执行后不可写,一般用来存储常量。

无痛人流