我今天发现,当我尝试释放
一个已重新分配的指针时,程序崩溃并打印“Segmentation Fault”。
在此指针(数组)上调用 realloc()
以调整数组大小并将旧数组与另一个数组合并。
进一步在程序中我必须释放
它,我怎样才能绕过这个问题而不必制作某种缓冲区数组,将另外两个数组添加到它然后释放它们?
PARTICLE
:结构newCount
:旧数组+新增数组的大小之和
代码:
group1->particleList =
(PARTICLE *) realloc(group1->particleList, newCount * sizeof(PARTICLE));
最佳答案
释放重新分配的指针应该没有问题。一个名为 valgrind 的程序可以为您提供有关代码中正在发生的事情的一些有值(value)的信息。
关于C : freeing a reallocated pointer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10505991/