libft과제는 자신만의 라이브러리(libft.a)를 만드는 프로젝트이다 향후 42seoul과제를 진행해나가면서 <stdio.h> <stdlib.h> 같이 외부 헤더 안에 포함된 함수들을 사용하여 프로그램을 작성하는 것이 아닌 이번 과제를 진행하면서 자주 사용할만한 함수들 ex.) ft_strlen, ft_atoi, ft_calloc 등 을 미리 만들어서 라이브러리 형태로 사용하는 것이 이번 과제의 목표이다 향후 과제에서 만들게되어지는 ft_printf , get_next_line 등 자신이 추가로 libft에 추가하고 싶은 함수들도 과제를 통과후 libft에 포함시켜 확장해 나갈수 있다.
libft 과제를 진행해 가면서 함수들을 구현하기 위해 manual을 확인해 본다면 size_t에 대한 자료형을 종종 만나볼수 있다 우리가 평소 보던 int, long long형 같은 자료형이 아니여서 모르는사람들이 많을거 같은데 size_t는 항상 최대 크기의 데이터를 보관할수있게 보장해준다고 한다 보통 일반적으로 int형은 4byte의 데이터크기를 가진다고 알고 있지만 프로그램을 실행하는 컴퓨터의 환경에 따라서 1byte의 데이터크기만 가질수도 있다 이처럼 사용자가 사용하는 컴퓨터환경과 상관없이 항상 최대의 크기로 지정하고 싶을 경우 사용할 수 있는 자료형이 size_t형이다 c99원문에 따르면 size_t자료형의 크기는 x86에서는 32비트 , x64에서는 64비트로 항상 최대의 크기를 보장해준다고 한다 size_t는 부호가 없는 unsigned형이지만 부호가 필요할경우 사용할수 있는 ssize_t 자료형도 존재한다.