C free()上已损坏的双链接列表

C free()上已损坏的双链接列表,c,malloc,free,calloc,C,Malloc,Free,Calloc,我成功地在小数据中运行了我的代码,但当我尝试大规模数据时,它给了我 “损坏的双链接列表:” 在小数据中,若我删除free()函数,错误就会消失,代码也会工作,但在大数据中,无论我是否释放,代码都会给出这个错误 创建malloc并在我的代码中使用free,如下所示 int **msgcount = malloc(partnum*sizeof(int*)); for(i=0; i<partnum; i++) msgcount[i] = malloc( partnum*sizeof(in

我成功地在小数据中运行了我的代码,但当我尝试大规模数据时,它给了我

“损坏的双链接列表:”

在小数据中,若我删除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]);
}
int**msgcount=malloc(partnum*sizeof(int*);

对于(i=0;i此消息来自glibc,表示您面临内存损坏或双重释放了同一指针。请尝试在valgrind下运行,并找出损坏发生的位置。

“…大量代码”是您问题的关键所在