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

前端之家收集整理的这篇文章主要介绍了c – 分配字符串时出现char * new和delete []错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要一个C复习.为什么这会给出内存异常?
pear = new char[1024];
pear = "happy go lucky";
delete [] pear; // exception

解决方法

pear = new char[1024];

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

pear = "happy go lucky";

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

delete [] pear;

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

猜你在找的C&C++相关文章