我是C初學者,我正在編寫一個非常簡單的鏈接列表。我想知道是否會有下面的代碼中的內存泄漏:內存泄漏C
void removeListEntry(struct tableEntry *symp, struct tableEntry *previous) {
if (symp->next = 0){
symbolList.tail = previous;
previous->next =0;
} else {
previous->next = symp->next;
symp->next = 0;
}
}
我敢肯定,如果指針SYMP沒有存儲在另一個變量,沒有訪問該指出由列表條目的方式指針,所以我會有內存泄漏。 在C中,我們使用malloc()函數爲數據結構分配內存空間,並且我記得使用new關鍵字來動態地在C++中分配內存。使用malloc()分配內存和使用new有什麼區別?我的代碼中確實存在內存泄漏?
symb->未來= 0值總是假的,而不是真實的。 – 2009-11-27 07:49:52
你是對的,我沒有想到下一個設置爲零後會發生什麼。 – 2009-11-27 14:47:49