gpt4 book ai didi

c - 重新分配时出现问题

转载 作者:行者123 更新时间:2023-11-30 17:23:19 25 4
gpt4 key购买 nike

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

事实上,在最后一次调用 realloc 期间,对 realloc 的调用工作了 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。

提前致谢。

最佳答案

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

关于c - 重新分配时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27652071/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com