在c中使用后如何释放双指针?
我在某个地方发现了堆损坏错误,并认为这可能是问题所在…每个在c中使用后如何释放双指针?,c,malloc,free,C,Malloc,Free,我在某个地方发现了堆损坏错误,并认为这可能是问题所在…每个malloc都需要一个空闲,因此您需要一个类似的for循环来释放所有内部malloc。每个malloc都需要一个空闲,因此,您需要一个类似的for循环来释放所有内部malloc。您需要调用free()的次数与调用malloc()的次数相同,并且调用的地址与malloc()返回的地址相同。因此,您只需按照分配的方式进行操作: free(tree0); (i=0;i
malloc
都需要一个空闲,因此您需要一个类似的for
循环来释放所有内部malloc。每个malloc
都需要一个空闲,因此,您需要一个类似的for
循环来释放所有内部malloc。您需要调用free()
的次数与调用malloc()
的次数相同,并且调用的地址与malloc()
返回的地址相同。因此,您只需按照分配的方式进行操作:
free(tree0);
(i=0;i<255;i++)的
免费(tree0[i])
免费(tree0);
您需要调用free()
的次数与调用malloc()
的次数相同,并且调用的地址与malloc()
返回的地址相同。因此,您只需按照分配的方式进行操作:
free(tree0);
(i=0;i<255;i++)的
免费(tree0[i])
免费(tree0);
对于每个malloc()
都必须有一个free()
。您需要以与malloc()
循环相同的方式进行迭代,但需要调用free(tree0[i])
,然后调用free(tree0)
请注意,从malloc()
强制转换返回值是不必要的。对于每个malloc()
必须有一个free()
。您需要以与malloc()
循环相同的方式进行迭代,但需要调用free(tree0[i])
,然后调用free(tree0)
请注意,从malloc()转换返回值
是不必要的。堆损坏可能是由于抛出malloc
的返回,但不是因为您没有释放一些内存。堆损坏可能是由于抛出malloc
的返回,而不是因为您没有释放一些内存。我是否应该始终调用free?如果一个函数中有一个方法和一个本地指针,那么在调用该方法后指针不会被自动释放吗?我应该总是调用free吗?如果一个函数中有一个方法和一个本地指针,那么在调用该方法后指针不会自动释放吗?
for( i = 0; i < 255; i++)
free(tree0[i])
free(tree0);