➰ 코딩 부트캠프/42 seoul

[0 Circle] Libft - ft_lstnew, ft_lstadd_front

 사과개발자 2021. 1. 4. 22:50

📌ft_lstnew

새로운 t_list 를 동적할당하고 content는 t_list의 content 변수에 저장하고 next 변수는 NULL 로 초기화한다

t_list        *ft_lstnew(void *content);

➕ 매개변수 (Parameters)

  • content : 새로 만든 리스트에 채워넣을 content 변수의 값

➕ 반환값 (Return)

  • t_list : 새로 만든 리스트

➕ 설명 (Description)

  • 구조체도 동적할당을 시켜주어야 사용이 가능하다

➕ 코드 (Code)

#include "libft.h"

t_list        *ft_lstnew(void *content)
{
    t_list    *node;

    if (!(node = (t_list *)malloc(sizeof(t_list))))
        return (0);
    node->content = content;
    node->next = NULL;
    return (node);
}

📌ft_lstadd_front

리스트의 맨 앞부분에 new라는 이름의 리스트를 넣는다

void    ft_lstadd_front(t_list **list, t_list *new);

➕ 매개변수 (Parameters)

  • list : 첫번째 링크드리스트의 포인터 주소
  • new : 리스트의 맨 앞에 추가할 리스트의 포인터 주소

➕ 반환값 (Return)

  • void : 없음

➕ 설명 (Description)

  • 맨 앞에 new를 넣기 전에 현재 링크드리스트의 포인터주소를 new 의 next가 저장하고 있도록 해주어야 연결이 된다

➕ 코드 (Code)

#include "libft.h"

void    ft_lstadd_front(t_list **list, t_list *new)
{
    new->next = *list;
    *list = new;
}
반응형