当前位置: 首页 > article >正文

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

目录

1.C/C++程序内存分配主要的几个区域:

2.内存分布图


1.C/C++程序内存分配主要的几个区域:

1、栈区 2、堆区 3、数据段(静态区) 4.代码段

2.内存分布图

 

如图:

static修饰静态变量成员——放在静态区

int globalVar 是全局变量——放在静态区

全局变量&&静态变量  放在静态区

malloc calloc等动态内存分布存放在堆区

动态内存分布存放在堆区

其余存放在栈区

注意:在现代计算机程序中,地址并不直接存储在栈区或堆区。地址实际上是存储在CPU的寄存器或者内存中,然后通过指针来引用内存的位置

所以变量ptr1 ptr2 ptr3 都是在栈区的,而它们存储的是在堆区所开辟空间的地址,这个地址既不在堆区也不在栈区,它只是个地址


http://www.kler.cn/news/326647.html

相关文章:

  • 点餐小程序实战教程14点餐功能
  • 心理咨询行业为何要有自己的知识付费小程序平台 心理咨询小程序搭建 集师saas知识付费小程序平台搭建
  • 遇到 Docker 镜像拉取失败的问题时该如何解决
  • 六、设计模式-6.3、责任链模式
  • WebAssembly 为什么能提升性能,怎么使用它 ?
  • 晶圆厂如何突破多网隔离实现安全稳定又快速的跨网域文件传输?
  • 执行力怎么培养?
  • 建投数据自主研发相关系统获得欧拉操作系统及华为鲲鹏技术认证书
  • ArduSub程序学习(11)--EKF实现逻辑③
  • 宠物医院微信小程序源码
  • 二叉树深搜专题篇
  • ELement plus 前端表单使用解读
  • 等保测评:如何应对网络攻击
  • leetcode-数组篇7
  • PIKACHU —— 靶场笔记合集
  • 20240930编译orangepi5的Android12使用HDMI0输出
  • 【洛谷】P4819 [中山市选] 杀人游戏 的题解
  • 每天五分钟玩转深度学习框架pytorch:多种定义损失函数的方法
  • UG NX二次开发(C#)-建模-根据拉伸体获取草图对象
  • 【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
  • 【UE5】将2D切片图渲染为体积纹理,最终实现使用RT实时绘制体积纹理【第四篇-着色器投影-接收阴影部分】
  • 2024/9/30 英语每日一段
  • [卸载] 软件彻底卸载工具的下载及详细安装使用过程(附有下载文件)
  • 代码随想录算法训练营Day11
  • [element-ui]记录对el-table表头样式的一些处理
  • 【机器学习】绘图中使用plt(图像全局)和axes对象(局部子图)的区别
  • 如何使用ssm实现基于在线开放课程的Web前端设计与实现+vue
  • 风险函数梳理工具
  • ros2安装完成后重要的一步
  • 多机部署,负载均衡-LoadBalance