Mem Mgmt

目录

内存布局

一个典型的C程序在内存中分为以下几个区域:

  1. 代码区(Text Segment)

    • 存放程序的机器指令,是只读的。
  2. 静态存储区(Static Storage)

    • 数据段(Data Segment):存放已初始化的全局变量和静态局部变量(用static关键字修饰)。

    • BSS段(BSS Segment):存放未初始化的全局变量和静态局部变量。在程序开始执行前,系统会自动将这个区域的数据初始化为0或NULL。

  3. 堆区(Heap)

    • 用于动态内存分配,比如malloccallocrealloc申请的内存就在堆上。
  4. 栈区(Stack)

    • 用于存放函数的局部变量、函数参数、返回地址等。它的管理是自动的,由编译器完成。

    堆管理

  5. heap

栈管理