当前位置: 首页 > 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/a/326647.html

相关文章:

  • 无需训练!多提示视频生成最新SOTA!港中文腾讯等发布DiTCtrl:基于MM-DiT架构
  • docker项目部署流程(Vue+Spingboot)
  • 接口调用限频(代理模式+滑动窗口)
  • vue3+vite+nginx打包
  • 2025最新版Java面试八股文大全
  • 【测试】接口测试
  • 点餐小程序实战教程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 系列也能用)