Skip to content

内存管理

内存管理区域

  • 栈区: 存放函数的参数值、局部变量等,栈帧(Stack Frame)是程序运行时在栈(Stack)上为每个活动的函数调用分配的一块内存区域。栈帧用于存储函数调用期间所需的各种信息,包括局部变量、函数参数、返回地址等。
  • 堆区: 动态内存分配,是在程序运行时动态分配的内存区域。堆区的内存由程序员手动分配和释放,通常使用malloc()和free()函数来管理堆内存。
  • 静态储存区: 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。

内存寻找方式

  • First Fit: 首次适应算法(能找到就使用)
  • Best Fit: 最佳适应算法(刚好能找到就使用)
  • Next Fit: 循环首次适应算法(在首次适应算法的基础上, 从上次找到的位置开始查找)