0
我的問題是我必須釋放一個雙指針。我已經試過了:不能釋放雙指針
char** files = malloc(sizeof(char*) * files_int);
for(i=1; i <= files_int ; i++)
{
files[i] = malloc(500);
//fill with data...
}
//call function with needs the double pointer
functionA(files);
//free first array
for(x=1; x <= max_files ; x++){
free(files[x]);
}
//free second array
free(files);
我總是得到glibc檢測到雙免費或腐敗(出)錯誤。
我在做什麼錯?
'files [files_int]'不存在。你忽略了'files [0]' – pmg
你應該爲你的for語句執行'for(int x = 0; x
您正在使用基於1的索引。你應該使用基於0的。目前你正在脫離陣列的末尾。 – Dave