[Libft]Bonus

3307 단어 42SeoulC42Seoul

BONUS

ft_lstnew

  • t_list *ft_lstnew(void *content);
  • malloc(3)을 할당하고 새로운 요소를 반환. 변수 'content'는 매개변수 'content'의 값에 따라 초기화된다. 변수 'next'는 NULL로 초기화된다.
  • while로 돌려서하면 스택영역에 있어서 함수가 끝나면 없어져버린다. →malloc을 이용해서 할당을 해줘야 한다.

ft_lstadd_front

  • void ft_lstadd_front(t_list **lst, t_list *new);

  • 파라미터

    #1. 첫 번째 링크 리스트의 포인터 주소.

    #2. 리스트에 추가되기 위한 요소의 포인터 주소.

  • 리스트에 추가 되는 값을 끼어넣을 리스트의 앞에 끼어 넣는다.

  • 리스트의 주소값을 새로 추가된 값으로 바꿔주면 된다.

ft_lstsize

  • int ft_lstsize(t_list *lst);

  • 파라미터

    #1. 리스트의 시작

  • 리스트의 시작값부터 값이 없을때까지 순회 하면서 count ++ 해준다.

int		ft_lstsize(t_list *lst)
{
	int		i;

	i = 0;
	while (lst != NULL)
	{
		i++;
		lst = lst->next;
	}
	return (i);
}

ft_lstadd_front

  • void ft_lstadd_front(t_list **lst, t_list *new)
void	ft_lstadd_front(t_list **lst, t_list *new)
{
	if (!lst || !new)
		return ;
	new->next = *lst; // new의 다음값을 lst로 연결하고 . 
	*lst = new; //현재 lst의 주소를  new로 변경.
}

좋은 웹페이지 즐겨찾기