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

C/C++程序内存分配的⼏个区域

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

2.堆区(heap):⼀般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。分配⽅ 式类似于链表。

  1. 数据段(静态区)(static)存放全局变量、静态数据。程序结束后由系统释放。

  2. 代码段:存放函数体(类成员函数和全局函数)的⼆进制代码

这也是与动态内存管理相关的一些知识.现在进行一些补充.

相关推荐
懒羊羊不懒@4 小时前
线性表的实现
c语言·数据结构
aramae5 小时前
快速排序的深入优化探讨
c语言·开发语言·c++·算法·排序算法
佛系彭哥6 小时前
C语言笔记(2)
c语言·笔记
952366 小时前
数据结构—单链表
c语言·数据结构·学习
Yupureki7 小时前
从零开始的C++学习生活 2:类和对象(上)
c语言·开发语言·c++·学习·visual studio
半桶水专家8 小时前
C语言中的setitimer函数详解
c语言·开发语言·算法
Yupureki10 小时前
从零开始的C++学习生活 1:命名空间,缺省函数,函数重载,引用,内联函数
c语言·开发语言·c++·学习·visual studio
9毫米的幻想11 小时前
【Linux系统】—— 程序地址空间
java·linux·c语言·jvm·c++·学习
71-311 小时前
C语言——循环的嵌套小练习
c语言·笔记·学习·其他
LGL6030A17 小时前
算法题实战积累(3)——方块转换(C语言)
c语言·算法