연결리스트의 데이터를 없에고 free해주는 함수
void ft_lstclear(t_list **lst, void (*del)(void *))
🔩 parameters
**lst : 없에줄 연결리스트
*del : 데이터를 삭제해줄 함수 포인터📬 return
없음
- lst == NULL은 연결리스트 자체가 없는것이고 *lst == NULL은 연결리스트에 노드가 없이 비어있다는 뜻
- 연결리스트를 모두 free해주고 난 뒤에 초기화해주지 않으면 없어진 저장공간을 가르키고있는 포인터가 쓰레기값때문에 오류를 발생시킬 수 있다(댕글링 포인터)
#include "libft.h"
void ft_lstclear(t_list **lst, void (*del)(void *))
{
t_list *save;
while (*lst != NULL)
{
save = (*lst)->next;
ft_lstdelone(*lst, del);
*lst = save;
}
*lst = 0;
}