char szBuff[]在这种情况下会出现内存泄露吗

我看你有戏 2009-02-18 11:02:07

假设有一个字符串数组

char szBuff[] = "abcdefg128908239fsdkfjsldf";

有个无聊的人执行了以下代码

szBuff[6] = '\0';

szBuff[10] = '\0';

szBuff[15] = '\0';

这样以后,系统还能正常回收内存吗

最好用例子说服我
...全文
225 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ForestDB 2009-02-18
  • 打赏
  • 举报
回复
这个例子不存在回收。
Dinelgua 2009-02-18
  • 打赏
  • 举报
回复
例子

char szBuff[] = "abcdefg128908239fsdkfjsldf";

不管怎么改 szBuff 的大小都不变 为27 这是szBuff这个数据的属性

所以在回收时 按长度27回收这块栈内存就一定没有问题

且栈内存由系统自由分配释放 不会出现泄漏 不像堆内存

而且即使是堆内存 像楼住那样该都没事 测试过了代码如下 没有泄露


char szBuff[] = "abcdefg128908239fsdkfjsldf";
char * pszBuff = new char[27];
memcpy(pszBuff,szBuff,27);
pszBuff[5]='\0';
delete [] pszBuff;
old-six-programmer 2009-02-18
  • 打赏
  • 举报
回复
'\0'综合恐惧症
呵呵

系统管理内存
只会标记那段内存被使用
而不会去管这段内存你会怎么去用
不过会在必要的时候将其收回
hai040 2009-02-18
  • 打赏
  • 举报
回复
int buf[] = {1,2,34,5}
会不会内存泄漏?
int*没有结束标志,不像char*有'\0'
我看你有戏 2009-02-18
  • 打赏
  • 举报
回复
好了谢谢各位了,不来问一下总觉得不放心,现在可以安心写下去了
  • 打赏
  • 举报
回复
不过你这个操作对于C的strlen,strcmp这些操作会有影响。道理你应该明白吧。
  • 打赏
  • 举报
回复
呵呵,楼主多虑了。
栈区连续存储的数据多着呢,那么'\0'字符也不少吧,如果一段代码运行完后,它的栈区不能完全被回收,你的机器不早就挂了。
小布 2009-02-18
  • 打赏
  • 举报
回复
可以正常收回
jiweihong 2009-02-18
  • 打赏
  • 举报
回复
可以回收!~
你申请空间不可能申请正好的。
在你定义的时候已经开辟了空间,是多少就是多少,回收的时候按你开辟多少回收多少。
du51 2009-02-18
  • 打赏
  • 举报
回复
可以
HelloDan 2009-02-18
  • 打赏
  • 举报
回复
可以正常收回

只有molloca() new出来的不释放才有可能出现内存漏露
捕鲸叉 2009-02-18
  • 打赏
  • 举报
回复
可以正常回收
fireseed 2009-02-18
  • 打赏
  • 举报
回复
原来楼主说的那个“无聊的人”就是自己呀!哈哈!!

delphi_911 2009-02-18
  • 打赏
  • 举报
回复
楼上的讲的清楚了,放心吧。
jackzhhuang 2009-02-18
  • 打赏
  • 举报
回复
栈会在函数结束的时候收回,放心好了。
内容概要:本文系统整理了《微软面试100题完整版(含解析+备考指南)2026最新求职资源》,涵盖算法编程、逻辑思维、计算机基础、系统设计与工程实践、职场综合五大核心题型,共100道高频原题,均来自微软近十年真实面试题库,剔除过时内容,新增AI工程应用、轻量化系统设计等2026年前沿考点。每道题目配有详细解题思路与考察要点,覆盖数据结构、动态规划、位运算、网络协议、数据库事务、微服务架构、高并发设计等关键技术领域,并包含逻辑推理、工程排查、产品权衡等综合素质题目,全面适配微软海内外各岗位面试需求。此外,文章还提供分层刷题策略、地域差异化备考建议及完整资源获取路径,助力求职者高效通关初面、复面与终面。; 适合人群:准备应聘微软的应届毕业生、1-5年工作经验的技术岗从业者(如软件开发、算法、测试、数据、运维等),以及计划投递微软海外岗位的求职者;尤其适合缺乏系统面试准备、希望提升解题思维与工程表达能力的人群。; 使用场景及目标:①针对微软技术面试中的算法题进行专项突破,掌握最优解法与代码规范;②训练逻辑思维与系统设计能力,应对高阶岗位考察;③准备终面综合问题,提升职场素养与岗位匹配度表达;④根据国内/海外不同考点调整复习重点,实现精准备考。; 阅读建议:此资源以真题为核心,强调解题思路而非死记硬背,建议按“分类刷题—总结模板—模拟手撕—复盘优化”流程学习,重点关注代码边界处理、复杂度优化与中英文表达逻辑,结合自身背景补充项目复盘与系统设计练习,全面提升面试实战能力。
内容概要:本文围绕永磁同步电机(PMSM)的二阶线性自抗扰矢量控制系统展开深入研究,重点实现了基于Simulink的系统建模仿真。研究采用二阶线性自抗扰控制(LADRC)策略,结合扩张状态观测器(ESO)对系统内部动态和外部扰动进行实时估计与前馈补偿,有效提升了电机在负载突变、参数摄动等复杂工况下的转速控制精度、动态响应速度与系统鲁棒性。文中详细构建了电流环与转速环的双闭环矢量控制架构,系统分析了控制器关键参数的设计方法、观测器带宽的整定原则以及整体系统的稳定性条件,并通过大量仿真实验验证了所提出控制方案相较于传统PI控制在抗干扰能力、响应性能和鲁棒性方面的显著优越性。; 适合人群:具备自动控制理论、电机控制原理、现代控制理论等相关专业知识,熟悉Simulink/Matlab仿真环境,且有一定工程实践经验的电气工程、自动化、控制科学与工程等领域的硕士/博士研究生、科研人员及从事高性能电机驱动系统开发的工程技术人员。; 使用场景及目标:①为高等院校和科研机构提供先进电机控制算法的教学案例与科研实验平台,深化对自抗扰控制(ADRC)理论的理解;②为企业在高性能伺服驱动、新能源汽车电驱系统、工业自动化等领域的下一代控制器研发提供可靠的技术参考、仿真验证方案和原型设计基础;③帮助研究人员系统掌握ADRC的核心思想、设计流程及其在高精度运动控制系统中的具体工程实现方法。; 阅读建议:学习者应具备扎实的自动控制与电机学理论基础及Simulink建模能力,建议结合韩京清教授的经典ADRC文献进行原理性学习,深入理解ESO的观测机理与TD的安排机制。在仿真实践中,应动手调试控制器带宽、观测器增益等核心参数,对比分析不同扰动工况(如突加负载、转速指令跳变)下的系统响应曲线,以直观感受控制性能的差异。为进一步深化研究,可将该仿真模型与硬件在环(HIL)测试平台或实际电机实验平台对接,完成从算法设计、仿真验证到物理实现的完整闭环验证流程。

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧