include
#include <string.h> char *strdup(const char *s1);
인자
- s1
복사하게 될 문자열이다.
문자열 s1
의 길이를 잰 후 동적할당
을 한 후에 s1을 복사
한 후 복사된 새로운 문자열
을 리턴해 주는 함수이다. 동적할당을 했기 때문에 메모리 누수에 주의하자.
"Hello World!!"를 strdup를 통해 보내면 널값을 포함한 이 문자열의 길이인 메모리공간 14Byte를 할당하고 s1을 복사한 후 할당된 메모리 공간의 주소를 리턴해준다.
복사하고싶은 문자열을 동적할당을 한 후 할당된 새로운 문자열의 포인터를 리턴해 준다.