循环中的自由和 malloC语言 释放内存的正确方法



我有以下循环(代码简化(:

for (int y = 0; y < 20; y++) {
self.array[y].numbers = [self getNumberData:source objectPass:object];
}

这将调用 get NumberData 方法。在此代码中使用了 malloc 方法,例如:

object->item1 = malloc(sizeof(Class) * object->item2);

我的问题是如何正确释放错误定位的内存?

self.array[y].numbers 是一个 C 结构。

我可以只在 dealloc 方法中放置自由(数组(吗?

谢谢。

必须将 malloc 返回的指针传递给 free

因此,如果您已经malloc在一个膨胀的 foop 中编辑了整个结构数组,您也可以(并且必须(free整个事情。

如果已单独malloc编辑每个结构,则还必须free每个结构。

相关内容

  • 没有找到相关文章