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

总结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.lryc.cn/news/450260.html

相关文章:

  • 第168天:应急响应-ELK 日志分析系统Yara规则样本识别特征提取规则编写
  • MySQL 面试题及答案
  • vue仿chatGpt的AI聊天功能--大模型通义千问(阿里云)
  • 养老院管理系统(含源码+sql+视频导入教程+文档)
  • 大数据的挑战是小文件
  • 迁移学习案例-python代码
  • MCUboot 和 U-Boot区别
  • Apache OFBiz SSRF漏洞CVE-2024-45507分析
  • 计算机毕业设计 饮食营养管理信息系统的设计与实现 Java实战项目 附源码+文档+视频讲解
  • 828华为云征文|华为云Flexus云服务器X实例部署——盲盒抽奖商城系统以及编译发布小程序
  • 优化理论及应用精解【12】
  • excel 填充内容的公式
  • 这款工具在手,前端开发轻松搞定!
  • Hadoop三大组件之HDFS(一)
  • 基于Hadoop的NBA球员大数据分析及可视化系统
  • docker容器安装nginx
  • LC记录一:寻找旋转数组最小值、判断旋转数组是否存在给定元素
  • 关于 JVM 个人 NOTE
  • 网络工程和信息安全专业应该考哪些证书?
  • ASP.NET Core 创建使用异步队列
  • 从Linux系统的角度看待文件-基础IO
  • 总结之Coze 是一站式 AI Bot 开发平台——工作流使用及coze总结(三)
  • 汽车线束之故障诊断方案-TDR测试
  • 自己做个国庆75周年头像生成器
  • 2k1000LA loongnix 安装java
  • 中信银行西安分行:构建科技金融体质 做好科技金融“大文章”
  • Linux系统性能调优技巧详解
  • MFC工控项目实例之十九手动测试界面输出信号切换
  • 数据结构——栈的基本操作
  • Chainlit集成LlamaIndex实现知识库高级检索(组合对象检索)