ft_lstclear

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
		}
	}
}

Deixe um comentário