尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
C/C++——内存管理
C/C——内存管理个人主页ꪔ小林Y✨个人专栏《C小白闯关日记》《C语言小白闯关日记》《数据结构入门——从原理到实战》,《拾光Linux》代码信条每一行代码都是成长的脚印每一次调试成功都是对坚持的回应目录C/C——内存管理1.C/C程序区域内存划分2.C语言中动态内存管理方式malloc/calloc/realloc/free3.C内存管理方式new/delete4.malloc/free和new/delete的区别1.C/C程序区域内存划分栈区stack在执行函数时函数内局部变量的存储单元都可以在栈上创建函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中效率很高但是分配的内容容量有限。栈区主要存放运行函数而分配的局部变量函数参数返回数据返回地址等。堆区heap一般由程序员分配释放若程序员不释放程序结束时可能由OS操作系统回收。分配方式类似于链表。数据段静态区static存放全局变量静态数据。程序结束后由系统释放。代码段存放函数体类成员函数和全局变量的二进制代码2.C语言中动态内存管理方式malloc/calloc/realloc/free3.C内存管理方式new/deletenew的原理调用operator new函数申请空间在申请的空间上执行构造函数完成对象的构造delete的原理在空间上执行析构函数完成对象中资源的清理工作调用operator delete运算符**函数释放对象的空间intmain(){int*p5newint;//动态开辟单个对象int*p6newint[10];//动态开辟数组deletep5;delete[]p6;}4.malloc/free和new/delete的区别malloc/free和new/delete的共同点是都是从堆上申请空间并且需要用户手动释放。区别是malloc和free是函数new和delete是操作符malloc申请的空间不会初始化new可以初始化malloc申请空间时需要手动计算空间大小并传递new只需要在其后面跟上空间的类型即可如果是多个对象[ ]中指定对象个数即可malloc的返回值为void*在使用时必须强转new不需要因为new后跟的是空间的类型malloc申请空间失败时返回的是NULL因此使用时必须判空new不需要但是new需要捕获异常申请自定义类型对象时malloc/free只会开辟空间不会调用构造函数与析构函数而new在申请空间后会调用构造函数完成对象的初始化delete在释放空间前会调用析构函数完成空间中资源的清理释放到这儿C/C——内存管理的内容就结束了。如果文中有表述不准的地方或是你有更清晰的理解思路强烈欢迎在评论区留言交流——技术路上多碰撞才能更快进步觉得内容对你有帮助的话别忘了点赞❤️➕收藏方便后续回顾复习想跟着一起系统学习数据结构的朋友也可以点击关注下一期我们会聚焦更进一步的学习。不见不散✌️
RELATED

相关推荐

用 MyoSuite 玩转肌肉骨骼仿真:从“机械假肢“到“会流汗的虚拟运动员“,这份上手指南值得收藏

用 MyoSuite 玩转肌肉骨骼仿真:从“机械假肢“到“会流汗的虚拟运动员“,这份上手指南值得收藏

用 MyoSuite 玩转肌肉骨骼仿真:从"机械假肢"到"会流汗的虚拟运动员",这份上手指南值得收藏 【免费下载链接】myosuite MyoSuite is a collection of environments/tasks to be solved by musculoskeletal models simulated with the…

📅 2026/10/1 19:36:26
MBTiles vs GeoPackage:如何选择最适合你的地图瓦片存储格式

MBTiles vs GeoPackage:如何选择最适合你的地图瓦片存储格式

MBTiles vs GeoPackage:如何选择最适合你的地图瓦片存储格式 【免费下载链接】mbtiles-spec specification documents for the MBTiles tileset format 项目地址: https://gitcode.com/gh_mirrors/mb/mbtiles-spec 面对离线地图、WebGIS 和移动端地图开发&am…

📅 2026/9/26 21:44:47
Path of Building新手完整教程:4步把流放之路Build规划从玄学变成科学

Path of Building新手完整教程:4步把流放之路Build规划从玄学变成科学

Path of Building新手完整教程:4步把流放之路Build规划从玄学变成科学 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding 刚入坑《流放之路》的时候,…

📅 2026/9/26 22:47:47
MORE NEWS

更多资讯

📰

Windows组策略运维实战:从生效原理到踩坑排查

简介:《Windows系统组策略应用最新技巧.doc》是一份面向Windows系统管理员和网络运维人员的实用文档,聚焦组策略在安全限制与日常管理中的进阶用法。资源仅1个doc文件,压缩包大小161KB,内容精炼、便于快速查阅。目前已有111人学习…

📰

AI编程工作流实战:从提示词接力到Agent闭环

直接说结论:我见过太多人把AI编程用成了"高级搜索引擎"。问一句,复制一段,粘贴进项目,编译报错再贴回来,来来回回折腾一晚上,代码最后还是七零八落。问题不在于AI不够聪明,而在于你没…

📰

内容重发不是复制粘贴:一套让旧文流量翻倍的运营方法

1. 为什么同样的内容,重发一次数据就完全不一样先聊个我在运营群里看到过无数次的场景:一篇稿子,认认真真改了三个小时,发布出去,两个小时后一看,阅读量三十多,点赞两个,其中一个还是自己点的。过了两周,可能是手滑,或者实在不甘心,把这篇内容原封不动又…

📰

读《老子永远不老》:用道家智慧破解现代职场内卷与焦虑

1. 一个读了二十遍还想再读的老头我第一次翻开《老子永远不老》这本书时,心里其实带着一点不服气。老子的五千言,从高中课本里就开始接触,什么“道可道,非常道”,什么“上善若水”,背是背得滚瓜烂熟&#x…

📰

Android局部变量深度解析:从栈帧到作用域,破解回调访问难题

刚开始学Android的人,大概率都撞过这么一堵墙:在onCreate里明明定义了一个变量,转头想在onClick回调里用,编译直接报"找不到符号"。翻来覆去检查类名、包名都没问题,最后才意识到就是那个变量的作用域太小—…

📰

MP-DQN强化学习复现指南:栅格环境、经验池与奖励函数工程实践

简介:面向具备Python编程与机器学习基础、熟悉TensorFlow和强化学习理论的研究者与从业者,文档完整复现了MP-DQN算法在无人机自主避障与目标追踪中的实现流程。资源包仅包含1个docx文档,大小28KB,以单文件形式提供全部可运行Pytho…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬