我今天发现,当我尝试free指向已重新分配的指针时,程序崩溃并打印“分段错误”。
在此指针(数组)上调用Arealloc()以调整数组大小并将旧数组与另一个数组合并。
在程序中我必须free这样做,我怎样才能绕过这个问题而不必制作某种缓冲区数组,向其中添加 2 个其他数组然后释放它们?
PARTICLE: 结构体newCount: 旧数组的大小总和 + 正在添加的数组
代码:
group1->particleList =
(PARTICLE *) realloc(group1->particleList, newCount * sizeof(PARTICLE));