免费()损坏的双链表

时间:2016-03-15 17:58:11

标签: c malloc free calloc

我在小数据中成功运行了我的代码但是当我尝试使用大型数据时,它给了我

  

"损坏的双链表:"

在小数据中,如果我删除free()函数,错误就会消失并且代码可以正常工作,但是在大数据中,无论是否释放,代码都会出现此错误。

在我的代码中创建malloc并使用free,如下所示,

int **msgcount = malloc(partnum*sizeof(int*));
for(i=0; i<partnum; i++)
    msgcount[i] = malloc( partnum*sizeof(int));

...lots of code

for(i=0;i<partnum;i++)
{
   free(msgcount[i]);
}

1 个答案:

答案 0 :(得分:1)

此消息来自glibc,意味着您遇到了内存损坏或双重释放了相同的指针。尝试在valgrind下运行,找到发生腐败的地方。