분류 전체보기 108

#1.23 ft_lstnew

t_list *ft_lstnew(void *content) 설명구조체 s_list 즉 t_list를 동적할당하고 인자값으로 들어오는 내용으로 content 변수를 초기화한다. 그리고 다음 구조체 s_list를 가리킬수 있는 next 변수를 null로 초기화한다. 인자void *content 보이드 포인터는 역참조 할 수 없다.그런데 역참조도 할 수 없는 void 포인터는 왜 사용하냐?? void 포인터는 되는 게 별로 없어 보이지만 실제로 C 언어에서 다양한 형태로 사용된다 예를 들자면 함수에서 다양한 자료형을 받아들일 때, 함수의 반환 포인터를 다양한 자료형으로 된 포인터에 저장할 때, 자료형을 숨기고 싶을 때 사용한다. 리턴값생성된 구조체

42 Libft 2020.10.16

# 1.20 ft_strmapi

char *ft_strmapi(char const *s, char (*f)(unsigned int, char));설명함수포인터를 사용하여 인자로 들어온 문자열에 함수를 적용한다. 인자s 적용당하는 문자열char (*f)(unsigned int, char)) 문자열에 속한 문자들에 적용할 함수 리턴 값적용된 문자로 생성 된 새로운 문자열 할당이 실패하면 NULL을 반환 함수 사용 설명문자열 s와 f함수를 인자로 받는다는 가정s가 "abcde" 이면ft_strmapi(*s, plus(i,s[i]));"bcdef" }

42 Libft 2020.10.14

#1.19 ft_split 수정완료

char **ft_split(char const *s, char c); 설명먼저 특정 문자를 기준으로 문자열을 자르는 방법입니다인자s 분할 할 문자열입니다. c구분 문자 리턴값분할 결과 새 문자열의 배열입니다. 할당이 실패하면 NULL입니다. get_num 함수는 들어온 문자열이 구분 문자를 기준으로 몇개로 나눠질지 갯수를 세는 함수 이다. ft_strcpy는 문자열 복사 함수다. 메모리 해제 함수다 do_split는 2차원배열로 동적할당한 str 배열에 인덱싱을 매겨서 또 동적할당을 한다.그리고 ft_strcpy함수를 호출해서 복사한다. char **ft_split(char const *s, char c)str 동적 실패 시 리턴 0s 가 null 리턴 0n 이 0이면 리턴 str

42 Libft 2020.10.11

#1.17 ft_calloc 틀림 수정해야함

void *calloc(size_t count, size_t size); 설명size byte 크기의 데이터 type을 nmemb개 저장할 수 있을 크기의 메모리를 할당합니다.malloc 과 달리 함수의 매개변수가 2개이다. 앞에 n은 할당할 메모리의 단위 갯수이며, 뒤에 size는 단위 하나당 크기를 말한다. 그리고 할당된 메모리 공간을 모두 0으로 초기화 시켜준다. 인자count 단위 갯수size 단위 하나당 byte 크기 리턴값0으로 초기화된 void형 포인터 22줄에 conut * count가 아니고.. size * count임 참고문서m.blog.naver.com/PostView.nhn?blogId=sharonichoya&logNo=220501158281&proxyReferer=https:%2F..

42 Libft 2020.10.10

#1.15 ft_substr

char *ft_substr(char const *s, unsigned int start, size_t len) 설명함수는 문자열을 자를때 사용하는 기본 함수이다 인자s - 자를 문자열start - 시작할 인덱스 (색인)len - start부터 자를 문자열 갯수 리턴값잘린 문자열 자를 문자열 갯수 + 1 만큼 동적할당하여 배열을 생성한다.만약 s의 길이보다 색인 시작점이 크거나 같다면 널을 가리키는 문자열을 리턴한다.ft_strlcpy를 활용해서 str에 복사한다. 참고 문서 - codingdog.tistory.com/entry/c%EC%96%B8%EC%96%B4-substring-%EA%B5%AC%ED%98%84-strncpy%EB%A1%9C-%EC%86%90%EC%89%BD%EA%B2%8C-%EB%A..

42 Libft 2020.10.08