我已經在一個函數中創建了一個鏈表,並且我正在使用一個指針訪問這個列表的其餘部分。現在我如何在程序結束時釋放這個鏈表?我是否明確使用free(CircuitData)
還是必須通過列表釋放每個節點?寫這個我想在釋放每個節點是明顯的答案...如何釋放鏈表?
在旁邊說明我也想問問如何找出在程序中分配的所有內存是否正確釋放?
ListNodeType *CircuitData;
CircuitData = NULL;
ReadFile(&CircuitData, &numEl, &numNodes);
void ReadFile(ListNodeType **CircuitData, int *numEl, int *numNodes){
ListNodeType *newPtr, *tempPtr;
newPtr = malloc(sizeof(ListNodeType));
*CircuitData = newPtr;
newPtr->nextPtr = NULL;
//MORE CODE
關於第一個問題的基礎上,你的分配片段,釋放每個節點。實際上它取決於列表如何分配(顯然)。一些鏈接列表是在一個靜態緩衝區中完成的,但你的確看起來遵循規則而不是例外。 – WhozCraig