카테고리 없음
[씨] 함수의 로컬 포인터를 해제하고 포인터를 반환합니다.
필살기쓰세요
2021. 2. 21. 05:52
둘 다하고 싶다.
그것은 좋은 목표가 아닙니다.
포인터를 해제하면 포인터를 반환하지 않아야합니다. 그렇지 않으면 호출하는 함수가 매달린 포인터를 얻습니다.
재귀가 있으므로 함수 자체에서 포인터를 비우고 싶습니다.
반환 된 포인터를 캡처하고 사용하고 해제했는지 확인하십시오.
함수의 모습은 다음과 같습니다.
char * ABCfunction()
{
char * p = malloc(10*sizeof(char));
//do something with p
char* p1 = ABCfunction();
// Use p1.
// Then free p1
free(p1);
return p;
}
출처
https://stackoverflow.com/questions/39940197