char *test(char *dirpath){
char *dir;
char *tmpdir;
asprintf(&dir, "%s", dirpath);
sprintf(tmpdir, "%s", dir);
free(dir);
return tmpdir;
}
예를 들어 다음과 같은 코드가 있다고 할때, asprintf함수는 내부적으로 동적 할당을 한다고 들었습니다. 그래서 사용후엔 free를 해주어야 하구요
동적할당했던 dir의 내용을 sprintf를 사용해 tmpdir 포인터 변수에 썼을 경우에
tmpdir 변수도 따로 free를 해주어야 하나요??
dir = tmpdir 이런식으로 되었을 경우에는 tmpdir을 받은 dir을 해제해주어야 하는 걸로 알고 있는데
sprintf를 사용하여 쓰기를 하였을 경우에는 어떻게 해야 하는지 했갈리네요 ㅠ