Ace*_*Ace 0 c malloc free linked-list
我在函数中创建了一个链表,在程序的其余部分我使用指针访问列表.现在,如何在程序结束时释放此链接列表?我是否明白使用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
Run Code Online (Sandbox Code Playgroud)
小智 6
我会想到这样的事情:
struct node
{
int data;
node* next;
} *head;
void deleteAllNodes(node* start)
{
while (start != NULL)
{
node* temp = start;
start = start -> next;
free(temp);
}
}
Run Code Online (Sandbox Code Playgroud)