realloc麻烦

时间:2014-12-26 01:36:05

标签: c realloc

我在我的程序中使用realloc函数但它无法正常工作。

实际上,在realloc的最后一次调用期间,调用realloc工作2次中有3次得到以下消息:" *`./sat':realloc()出错:无效下一个尺寸:0x0000000000647520 * 中止(核心倾销)"

这是我的代码中包含对realloc的调用的部分:

void insertInAssignedLitArray(int indiceVar, int indiceClause, int nbDeletedLiterrals, lit_t** delLit, clause_t* ptr, int signe, int nbClauseNonSat)
{
*delLit = (lit_t*)realloc(*delLit, nbDeletedLiterrals+1);
if (*delLit == NULL)
{
    fprintf(stderr, "Erreur reallocation lors de la suppression du litteral\n");
    exit(EXIT_FAILURE);
}
//some tasks.
}

我已经使用了一些printfs,nbDeletedLitterals的值也没问题。

此函数在另一个函数中调用,但我不在其他任何地方使用delLit。

提前致谢。

1 个答案:

答案 0 :(得分:0)

lit_t分配了多少realloc(*delLit, 1)个? (答案:归零。它分配一个字节)。如果这是您的代码中唯一的问题,那么应该很容易修复。                      - immibis