发布网友 发布时间:2022-04-22 18:27
共2个回答
热心网友 时间:2022-06-04 12:56
这个错误信息:double
free
or
corruption
(!prev),free了多次或者数据损坏
看了你的代码没有看到明显的多次释放,但是没有看到你输出结果的部分,我想可能是在那部分访问内存越界了。
有时即使越界一个字节也会被检查到而报这个警告。可以仔细检查一下输出部分的代码,或者用先注释掉输出部分,跑一跑以缩小范围这种方法。
热心网友 时间:2022-06-04 12:56
1.
double
free
是重复释放指针导致的。
2.
可以在指针初始化和
free
之后将指针置
NULL;而在
free
时,先判断指针是否非
NULL,是才
free。