memchr 함수의 manual은 다음과 같다!

include <string.h>
void *memchr(const void *s, int c, size_t n);
memchr 함수는 문자열 s에서 C(unsigned char 타입으로 변환된)의 첫 번째 발생 위치를 찾는다.
unsigned char로 변환하는 것을 보아 바이트 단위로 수행한다는 것을 예상할 수 있다. 왜냐하면 c 표준 라이브러리의 메모리 관련 함수들이 unsigned char 타입을 사용하여 바이트 단위의 데이터를 다루기 때문이다.
strchr 함수는 문자열에서 문자를 검색하는 함수이다. 이 함수는 검색할 문자를 char 타입으로 변환하여 사용한다. 문자열의 끝을 나타내는 NULL 문자를 만나거나 검색할 문자를 찾으면 검색을 종료한다.
memchr 함수는 매뉴얼에서 문자열을 검색한다고 표현하지만, 실제로는 임의의 메모리 블록을 검색하는 함수이다. 이 함수는 검색할 값을 unsigned char 타입으로 변환하여 사용한다. 메모리 블록의 끝은 범위(n 바이트)로 지정되며, 지정된 n 바이트 내에서 검색을 진행한다.
memchr함수는 n 바이트 내에서 c의 첫 번째 발생 위치를 가리키는 포인터를 반환한다. 만약 해당 바이트가 발견되지 않으면 NULL을 반환한다.void *ft_memchr(const void *s, int c, size_t n)
{
unsigned char *str;
unsigned char check;
str = (unsigned char *) s;
check = (unsigned char) c;
while (n > 0)
{
if (*str == check)
return ((void *) str);
str++;
n--;
}
return (NULL);
}