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

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

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

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

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

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

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

相关推荐
大志出奇迹12 分钟前
FreeRTOS中创建任务的顺序是否会影响任务运行的顺序?【面试重点】
c语言·rtos
2501_918126911 小时前
学习所有用c语言定义stm32的语句
c语言·stm32·嵌入式硬件·学习·个人开发
handler011 小时前
算法:Trie树(字典树)
c语言·数据结构·c++·笔记·算法·深度优先
Book思议-1 小时前
【数据结构考研真题】链表题
c语言·数据结构·算法·链表·408·计算机考研
for_ever_love__2 小时前
Objecgtive-C学习实例对象,类对象, 元类对象与 isa指针
c语言·学习·ios
zly88653722 小时前
windsurf rules与skill的使用
linux·c语言·开发语言·驱动开发
Lzh编程小栈2 小时前
数据结构与算法——单链表超详解(C语言完整实现 + 面试高频题)
c语言·开发语言·面试
聆风吟º2 小时前
【C标准库】C语言memset函数详解:从原理到实战避坑
c语言·开发语言·库函数·memset
Book思议-3 小时前
【数据结构实战】双向链表:删除节点
c语言·数据结构·算法·链表
爱编码的小八嘎12 小时前
C语言完美演绎4-7
c语言