【C】程序内存映像

C语言程序内存映像.png
  1. 从静态存储区分配

    • 程序编译时就已经分配好了内存,在程序运行期间始终占据这些内存,仅在程序终止前,才被操作系统收回;
  2. 从栈上分配
    - 在执行函数调用时,系统在栈上为函数内的局部变量及形参分配内存,函数执行结束时,自动释放内存。栈内存分配运算内置于处理器的指令集中,效率很高,但是容量有限。会造成StackOverflow;

  3. 从堆上分配

    • 在程序运行期间,用动态内存分配函数来申请的内存都是从堆上分配的。但是容易出现内存泄露,必须及时释放不使用的内存;

你可能感兴趣的:(【C】程序内存映像)