두개의 숫자를 입력 받아서 리턴하는 함수가 있다고 가정해보죠
한개는 더해서, 다른 한개는 곱해서 그렇게 하기 위해서
int 배열을 사용할려고 합니다.
int *retFunction (int a, int b)
{
int *ptr;
ptr = (int *)malloc(2*sizeof(int));
ptr[0] = a+b;
prt[1] = a*b;
// free(ptr); --- 1
return (ptr);
// free(ptr); --- 2
}
물론 이렇게 사용하는 사람은 없겠지만은 이는 단순히 예를 든거에요 ^^;
1번에서 해제를 하면 return를 할수가 없고
2번에서 해제를 하면 실행되지 않는 쓰레기 구문이 되죠.. 결국 해제를 언제해야 하는 것일 까요
해제 할 필요가 없나요 그럼 그 이유는?
^^ 가르침을 내려주세요
|