Subject
Nome da função: ft_lstclear
Protótipo: void ft_lstclear(t_list *lst, void (del)(void *));
Parâmetros:
- #1. O endereço de um ponteiro para um elemento.
- #2. O endereço da função usada para deletar o conteúdo do elemento.
Valor de retorno: Nenhum.
Funções externas: free.
Descrição: Deleta e apaga o conteúdo do dado elemento e todo sucessor desse elemento, usando a função ‘del’ e free(3). Por fim, o ponteiro para lista deve ser NULL.
Rascunho
A descrição já explica bem o que deve ser feito. Se fizéssemos um main assim:
~fazer o main
O resultado seria:
a
Código
void ft_lstclear(t_list **lst, void (*del)(void*))
{
t_list *tmp;
if (lst) //se o endereço existir
{
while (*lst) //enquanto não for nulo
{
tmp = (*lst)->next; //armazeno o próximo endereço
ft_lstdelone(*lst, del); //apago o atual
(*lst) = tmp; //o atual passa ser o próximo
}
}
}