c – 分配字符串时出现char * new和delete []错误

c – 分配字符串时出现char * new和delete []错误,第1张

概述我需要一个C复习.为什么这会给出内存异常? pear = new char[1024];pear = "happy go lucky";delete [] pear; // exception pear = new char[1024]; 1024个字符的内存从堆和梨点分配到它的开头. pear = "happy go lucky"; pear现在指向驻留在只读段中的字符串文字,并且先前分配的 我需要一个C复习.为什么这会给出内存异常?
pear = new char[1024];pear = "happy go lucky";delete [] pear; // exception
解决方法@H_419_6@
pear = new char[1024];

1024个字符的内存从堆和梨点分配到它的开头.

pear = "happy go lucky";

pear现在指向驻留在只读段中的字符串文字,并且先前分配的内存被泄露.

delete [] pear;

您尝试释放只读字符串,这是一种未定义的行为,表现为运行时异常.

总结

以上是内存溢出为你收集整理的c – 分配字符串时出现char * new和delete []错误全部内容,希望文章能够帮你解决c – 分配字符串时出现char * new和delete []错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1242019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存