我有以下循环(代码简化):
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);
我的问题是如何正确释放malloced内存?
self.array [y] .numbers是一个C结构。
我可以在dealloc方法中放入free(数组)吗?
谢谢。
答案 0 :(得分:2)
您必须将malloc
返回的指针传递给free
。
所以,如果你malloc
在一个swell foop中编辑了整个结构数组,你也可以(并且必须)free
整个事物。
如果你单独malloc
编辑了每个结构,那么每个结构也必须free
。