目录
7. 总结C/C++中程序内存区域划分
C/C++程序内存分配的⼏个区域:
1. 栈区(stack):
在执⾏函数时,函数内局部变量的存储单元都可以在栈上创建,函数执⾏结束时 这些存储单元⾃动被释放。栈内存分配运算内置于处理器的指令集中,效率很⾼,但是分配的内 存容量有限。 栈区主要存放运⾏函数⽽分配的局部变量、函数参数、返回数据、返回地址等。
《函数栈帧的创建和销毁》
2. 堆区(heap):
⼀般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。分配⽅ 式类似于链表。
3. 数据段(静态区):
(static)存放全局变量、静态数据。程序结束后由系统释放。
4. 代码段:
存放函数体(类成员函数和全局函数)的⼆进制代码。