일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- vs코드 단축키
- iF
- for
- jupyter 단축키
- 42서울
- else if
- nginx
- float
- 42Seoul
- docker
- cout
- 동적할당
- ft_server
- C++
- 자료형
- python
- phpmyadmin
- 구조체
- 포인터
- 42cursus
- libft
- Class
- C언어
- 42
- list
- 함수
- 패킹
- Double
- 2차원배열
- While
- Today
- Total
목록42cursus (2)
Developer

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 *형으로 ..