일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- python
- float
- list
- 패킹
- C언어
- 함수
- C++
- 42서울
- docker
- 42
- 42cursus
- iF
- 구조체
- Double
- ft_server
- Class
- 동적할당
- 자료형
- else if
- nginx
- for
- While
- phpmyadmin
- 42Seoul
- 포인터
- jupyter 단축키
- libft
- 2차원배열
- vs코드 단축키
- cout
- Today
- Total
목록libft (3)
Developer
1.ft_lstnew Prototype t_list *ft_lstnew(void *content) 함수 동작 = 새로운 노드 하나를 생성하는 함수 구현 방법 = 리스트 구조체의 크기만큼 동적 할당을 해준 뒤 content에는 content를 next는 NULL을 가리키도록 하면 된다.. 2.ft_lstadd_front Prototype t_list *ft_lstadd_front(t_list **lst, t_list *new) 함수 동작 = 리스트의 맨 앞에 노드를 추가하는 함수 구현 방법 = 전달 인자로 들어온 lst 자체가 NULL인지 확인을 하고, lst가 가리키고 있는 곳의 값 (*lst)가 NULL이라면 현재 노드가 하나도 없는 상태이므로 *lst = new로 new를 추가하면 된다. 만약 리스트..

String 함수들 대부분 malloc를 사용해야 하는 함수. malloc으로 동적 할당에 실패할 경우 NULL을 반환하므로 항상 동적 할당한 포인터가 NULL인지 확인해 적절한 처리를 해주어야 한다. malloc실패에는 너무 큰 크기의 요청, 음수 혹은 0 크기의 할당 요청, 메모리 부족 등등..... 1. ft_substr Prototype char *ft_substr(char const *s, unsigned int start, size_t len) 함수 동작 = 문자열 s의 start 위치부터 len길이만큼을 새로운 메모리를 할당(동적 할당)해 저장한 뒤 반환 = return : 할당에 실패할 경우 NULL을 반환 구현 방법 동적 할당에 실패했을 경우에만 NULL을 반환하라고 작성되어 있어서 s가..

1. void 포인터 (void *) void 포인터는 주소 값을 가진다. 하지만 int형 포인터나 char 포인터처럼 역참조(*)를 할 수 없다. 물론 포인터 연산도 할 수 없다. 역참조나 포인터 연산을 하기 위해서는 자료형의 크기를 알아야 해당 자료형의 크기만큼 값을 참조하거나, 주소를 이동할 수 있기 때문이다. 하지만 자료형이 정해져 있지 않기 때문에 다양한 자료형의 포인터를 형변환을 통해 사용할 수 있다. 예를 들어 malloc의 경우 반환형이 void *이다. 그래서 사용할 때 char *a = (char *)malloc(sizeof(char) * n)과 같이 char *형으로 사용할 수 도 있고, int *a = (int *)malloc(sizeof(int) * n) 과 같이 int *형으로 ..