釋放一個二維數組我試圖使用Visual Studio 2005 & 2008年釋放在C二維數組:問題在C
void Free_C(int **Cmat)
{
int i;
for (i=0;i<ROW;i++)
free(Cmat[i]);
free(Cmat);
}
當到達第二自由行它錯誤說崩潰:
HEAP CURRUPTION DETECTED:...CRT detected that application wrote to memory after end of heap
我分配的數組是這樣的:
C=malloc(ROW*sizeof(int*));
for (i=0;i<RC;i++)
C[i]=malloc(COL*sizeof(int));
我也試圖與calloc
,但它會導致相同的錯誤。
你是如何分配該數組:
例如,陣列可以一直使用以下方法分配呢?每個'free'應該對應一個你之前做過的'malloc'。 – sth
您可以顯示您用於首先分配數組的代碼嗎? – JaredPar
如果不知道如何分配數組,則無法真正回答這個問題。 –