들어가기 앞서...
libc
에 있는 모듈들을 직접 구현해보기
- 최대한
라이브러리
의 의미를 생각하며 구현하기
- 재사용 가능한 함수들은 최대한 이용하여
라이브러리
내에 static
함수 최소화 하기
1. 팁 및 Tester
1) 구현 순서 가이드
lstnew
→ lstdelone
→ lstclear
→ lstlast
→ lstadd_back
→ lstmap
memset
→ bzero
→ calloc
strlcpy
→ substr
→ strjoin
→ split
memcmp
→ strnstr
strchr
→ strtrim
2) **const char *** vs **char const *** vs char * const (by 🐷)
[씹어먹는 C 언어 리뷰] 포인터에 대하여
int main(void)
{
// s1, s2 equivalent -> cannot change value, afford to change address
// s3 -> afford to change value, cannot change address
const char *s1 = "123";
char const *s2 = "456";
char *const s3 = "789";
// upper one error
// *s1 = '0';
// ++s1;
// upper one error
// *s2 = '0';
// ++s2;
// lower one error
// *s3 = '0';
// ++s3;
return (0);
}
3) dest vs dst