ft_lstnew

Subject

Nome da função: ft_lstnew

Protótipo: t_list *ft_lstnew(void *content);

Parâmetros:

  • #1. O conteúdo a ser criado com o novo elemento.

Valor de retorno: O novo elemento.

Funções externas: malloc

Descrição: Aloca (com malloc(3)) e retorna o novo elemento. A variável ‘content’ é inicializada com o valor do parâmetro ‘content’. A variável ‘next’ é inicializada para NULL.

Rascunho

A função pede para inserir um valor em ‘content’. Se fizéssemos um main assim:

int main() {
  t_list *niu; //criando uma lista niu
  char cont[] = "Batata"; //conteúdo que quero inserir
  niu = ft_lstnew(cont); //inserindo
  printf("%s\n", niu->content); //exibindo o conteúdo
  return 0;
}

O resultado seria:

‘content’ é um ponteiro para ‘cont’

Código

t_list	*ft_lstnew(void *content)
{
	t_list *n; //criando uma lista para retornar

	if (!(n = (t_list *)malloc(sizeof(struct s_list)))) //tenta alocar
		return (NULL); //se a alocação falha
	n->content = content; //'content' passa a valer 'content'
	n->next = NULL; //próximo valor é NULL
	return (n); //retornando a lista criada
}

Deixe um comentário