C/C++中程序内存区域划分:
1. 内核空间:用户无法对这块空间进行读写,该空间是专门用来跑操作系统的。
2. 栈区:在调用函数时,函数调用空间、函数内局部变量、函数参数的存储单元都是在栈区上创建的,函数调用结束时这些存储单元自动被释放。
3. 堆区:一般由程序员自主的动态内存开辟和释放,若程序员不释放,程序结束时可能由OS回收。动态分配方式类似于链表。
4. 数据段:就是之前所说的静态区,主要用于存放全局数据、静态数据。
5. 代码段:用于存放代码经过编译链接后的二进制可执行程序和只读常量。
实际上普通的的局部变量是由放栈区分配的空间,而栈区的特点是在上面创建的变量出了作用域就自动销毁。而对于用static修饰的变量存放到了数据段(静态区),数据段的特点是在上面创建的变量,直到程序结束才会销毁,故生命周期长。而在堆区上开辟的空间特点是能够自主的调整其大小。
热门文章
- 「1月10日」最高速度20.5M/S,2025年V2ray/Shadowrocket/Clash/SSR每天更新免费节点订阅链接
- 中国饲料排名第一(中国饲料排名第一的企业)
- 「3月7日」最高速度22.2M/S,2025年SSR/V2ray/Shadowrocket/Clash每天更新免费节点订阅链接
- 「1月9日」最高速度20.2M/S,2025年V2ray/Shadowrocket/SSR/Clash每天更新免费节点订阅链接
- 「2月15日」最高速度18.9M/S,2025年Shadowrocket/V2ray/Clash/SSR每天更新免费节点订阅链接
- 「2月12日」最高速度23M/S,2025年Shadowrocket/V2ray/SSR/Clash每天更新免费节点订阅链接
- 宠物店买猫粮多少钱(宠物店猫粮最便宜多少钱一袋)
- 青岛市动物医院(青岛市动物医院官网)
- /usr/local/kafka/kafka_2.13-2.7.1/bin/kafka-run-class.sh: 第 318 行:exec: java: 未找到 问题已解决
- Python Pytorch学习之图像检索实践_python