当前位置: 首页 > 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;

相关文章:

  • 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 分别代表什么
  • 谷歌量子计算机:开启计算新纪元
  • 新片|《碟中谍8:最终清算》定档5月30日
  • 最高人民法院原副院长唐德华逝世,享年89岁
  • 通用汽车回应进口车业务调整传闻:因经济形势变化重组,致力于在中国持续发展
  • 知名猎头公司创始人兼首席执行官庄华因突发疾病逝世,享年62岁
  • 国内首家破产的5A景区游客爆满,洛阳龙潭大峡谷:破产并非因景观不好
  • 中巴续签双边本币互换协议,进一步深化金融战略合作