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

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

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

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

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

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

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

相关推荐
XiaoCCCcCCccCcccC1 小时前
Linux网络基础 -- 局域网,广域网,网络协议,网络传输的基本流程,端口号,网络字节序
linux·c语言·网络·c++·网络协议
居然是阿宋2 小时前
C语言的中断 vs Java/Kotlin的异常:底层机制与高级抽象的对比
java·c语言·kotlin
weixin_428498493 小时前
在Lua中使用轻量级userdata在C/C++之间传递数据和调用函数
c语言·c++·lua
C++ 老炮儿的技术栈3 小时前
C++中什么是函数指针?
c语言·c++·笔记·学习·算法
再睡一夏就好3 小时前
C语言常见的文件操作函数总结
c语言·开发语言·c++·笔记·学习笔记
少了一只鹅7 小时前
深入理解指针(5)
java·c语言·数据结构·算法
迷茫的蜉蝣7 小时前
ev_loop_fork函数
linux·c语言·libev
hallo-ooo8 小时前
【C/C++】const关键词及拓展
c语言·c++
柯ran9 小时前
JSON|cJSON 介绍以及具体项目编写
c语言·链表·json·github