比方說,我們有:解放出來用C
void createMultiArray(){
int i,j;
char*** codes = malloc(5 * sizeof(char**));
for (i = 0; i <= 4; i++) {
codes[i] = malloc((i+1) * sizeof(char*));
for (j = 0; j <= i; j++) {
codes[i][j] = malloc(2 * sizeof(char));
}
}
我應該如何釋放codes
?
free(codes);
或
int i,j;
for(i = 0; i <=4; i++){
for(j = 0; j <= i; j++){
free(codes[i][j]);
}
free(codes[i]);
}
free(codes);
第二個不會導致內存泄漏:)這是可取的。 – Constantinius 2011-12-22 13:16:39
這是「可取的」,我們可以說「一個是正確的,另一個不是」;) – 2011-12-22 13:19:47
這不是一個多維數組,你使用 – 2011-12-22 13:25:56