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

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

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

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

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

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

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

相关推荐
王光环1 小时前
C语言写exe脚本
c语言·开发语言
leoufung1 小时前
图解除法查询问题:用 C 语言和 DFS 实现带权有向图的路径乘积
c语言·开发语言·深度优先
雨落在了我的手上1 小时前
知识扩展:进制的详细介绍
c语言·学习
charlie1145141912 小时前
深入理解CC++的编译与链接技术8:Windows和Linux是如何搜寻动态库的?
c语言·c++·动态库·编译·编译技术
缘三水2 小时前
【C语言】12.指针(2)
c语言·开发语言·指针
dangdang___go3 小时前
文件操作c语言
c语言·开发语言
liu****4 小时前
12.C语言内存相关函数
c语言·开发语言·数据结构·c++·算法
!停4 小时前
深入理解指针(2)
c语言
Tandy12356_5 小时前
手写TCP/IP协议栈——无回报ARP包生成
c语言·c++·tcp/ip·计算机网络
赖small强5 小时前
【Linux C/C++开发】C语言函数深度技术指南 (Deep Dive into C Functions)
linux·c语言·函数指针·stack frame