我應該編寫能夠將二維矩陣提升爲某種能力的代碼,並且我也不應該讓任何內存泄漏發生。我已經編寫了這個函數(它使用了我編寫的另一個函數,產品,但您可以忽略它),並且我無法看到內存泄漏的發生位置,但我對此也很陌生。任何幫助指出我可以如何使這種效率更高,將不勝感激。謝謝。如何防止內存泄漏
int **matrixPower(int **A, int size, int n){
int **a = NULL;
a = (int **)malloc(size * sizeof(int*));
int i;
for (i = 0; i < size; i++){
a[i] = (int *)malloc(size * sizeof(int));
}
a = A;
for (i = 0; i < n; i++){
a = product(a, A, size);
}
return a;
}
提示:每次有'malloc'沒有相應的'free'時都會發生泄漏。 – dasblinkenlight 2014-11-04 03:16:26
爲使您的代碼更容易使用,將矩陣存儲在同樣包含當前尺寸的結構中 – 2014-11-04 03:33:07
將'malloc'和'free'放在同一代碼塊中將使您的生活更輕鬆 – bpceee 2014-11-04 03:35:24