[42seoul] ft_lstmap은 어떤 함수일까??

개발하는 곰댕이·2021년 4월 10일
1

42Seoul

목록 보기
45/45

함수원형

t_list	*ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *))

인자

  • lst
    매핑을 할 연결리스트
  • void (f)(void)
    매핑을 할 함수
  • void (del)(void)
    노드 할당 실패시 content를 지워줄 함수

1. ft_lstmap이란??

ft_lstmap은 연결리스트 lst의 content를 함수 f로 보내서 바뀐 값을 content로 갖고있는 새로운 연결리스트를 만들어서 리턴해주는 함수이다.

만약 새로운 연결리스트를 만들다 노드 할당이 실패하면 여태까지 만든 새로운 연결리스트를 모두 할당 해제해준다.

2. 사용 예제


lst에 있는 content를 mallang으로 바꿔주는 함수 f를 적용시켜서 새로운 연결리스트 new_lst를 만들었다.


함수 f는 빈 문자열이 넘어올 때 리턴 0을 하는데 이렇게 되면 ft_lstmap 내부에서 할당을 실패하기 때문에 new_lst의 모든 노드를 clear하게된다.

3. 리턴값

함수 f에 의해 바뀐 값들이 들어있는 새로운 리스트가 리턴된다.

0개의 댓글