횽들 Linked list에서 모든 node 들을 삭제하는 함수를 만들어야되는데..


 

주어진게 맨처음 node를 가리키는 포인터랑.. 맨마지막 node 를 가리키는 포인터 2개야


그래서 내가 함수를 만들었는데 런타임 오류가 나서 모르겟어 알려줘잉 ㅠ


 

void deleteList(NODE **head, NODE **tail){
 
 //NODE *node=(NODE*)malloc(sizeof(NODE));
 NODE *tnode=(NODE*)malloc(sizeof(NODE));
 
 NODE *node=*head;
 while(node)
 {if(*head==*tail)
 break;
  *tnode=*node->link;
  free(node);
 *node=*tnode;
 }
 free(tnode);


}


 

이렇게 햇는데 왜 안될까 알려주면 진짜 너무 고맙겠어..


 

참고로 NODE 구조체는 이렇게 되있엉..


 

typedef struct list_node {
 struct list_node *link;
 int data;
} NODE;


 

알려줘잉..