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

C++核心编程--1 内存分区模型

C++程序执行时,内存可以划分为4部分

  • 代码区:存放函数体的二进制代码

  • 全局区:存放全局变量、静态变量、常量

  • 栈区:局部变量、函数参数值,编译器自动分配和释放

  • 堆区:程序员自己分配和释放

1.1 程序运行前

程序运行前,内存分为两块:

代码区:

  1. 存放cpu执行的机器指令
  2. 代码区共享,对于频繁被执行的程序,内存中只需要存一份
  3. 代码区只读,防止意外修改

全局区:

  • 存放全局变量和静态变量、常量

1.2 程序运行后

栈区:

  • 函数形参放在栈区
  • 不要返回局部变量的地址,因为函数结束后系统将自动释放局部变量

堆区:

  • 程序员通过new在堆区分配内存,使用delete释放内存

(1)指针变量:

int * var = new int(10);
delete var;

(2)指针数组:

int * arr = new int[10];
delete[] arr;

http://www.dtcms.com/a/193454.html

相关文章:

  • python打卡day26
  • 如何在线免费压缩PDF文档?
  • 【MySQL】多表连接查询
  • 各个历史版本mysql/tomcat/Redis/Jdk/Apache/gitlab下载地址
  • 2024年9月电子学会等级考试五级第三题——整数分解
  • 【蓝桥杯省赛真题49】python偶数 第十五届蓝桥杯青少组Python编程省赛真题解析
  • zynq嵌入式linux启动默认设置
  • 钉钉数据与金蝶云星空的无缝集成解决方案
  • 嵌入式开发学习日志(数据结构--双链表)Day21
  • C++ QT图片查看器
  • 掘金中亚货代蓝海,易境通货代系统解锁数字化制胜密码!
  • Python实战案例:打造趣味猜拳小游戏
  • 山东大学计算机图形学期末复习整理5——CG10上
  • 司法系统之外的第三方平台未经许可披露企业涉诉信息是否构成侵权
  • CodeBuddy编程新范式
  • 动态规划-状态压缩DP
  • Java并发编程:synchronized机制
  • vue2 根据不同路由url设置不同的网页背景颜色
  • android display 笔记(十四)VAU 和GSP 分别代表什么
  • 谷歌量子计算机:开启计算新纪元
  • 鸿蒙OSUniApp 实现的表单验证与提交功能#三方框架 #Uniapp
  • 2021-10-25 C++三的倍数含五
  • 【图片识别工具】批量单据识别批量重命名,批量OCR识别图片文字并重命名,批量改名工具的使用步骤和注意事项
  • OpenCv高阶(4.0)——案例:海报的透视变换
  • 无需付费,安装就能使用!
  • 高效电脑隐私信息清理实用工具
  • 贪吃蛇游戏消息通知功能开发全解析
  • iptables 防火墙
  • Java中Money类的使用及与BigDecimal的对比
  • 软考软件评测师——计算机组成与体系结构