总结C/C++中程序内存区域划分

总结C/C++中程序内存区域划分:

总结C/C++中程序内存区域划分_第1张图片

1. 栈区(stack):

  • 在执⾏函数时,函数内局部变量的存储单元都可以在栈上创建。
  • 函数执⾏结束时 这些存储单元⾃动被释放。
  • 栈内存分配运算内置于处理器的指令集中,效率很⾼,但是分配的内 存容量有限。
  • 栈区主要存放运⾏函数⽽分配的局部变量、函数参数、返回数据、返回地址等

2. 堆区(heap):

  • ⼀般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。
  • 分配⽅ 式类似于链表。

3. 数据段(静态区)(static):

  • 存放全局变量、静态数据。
  • 程序结束后由系统释放。

4. 代码段:

  • 存放函数体(类成员函数和全局函数)的⼆进制代码。 

你可能感兴趣的:(C语言,数据存储,c语言,c++,java,数据存储,函数)