main(){

int *a;

a=malloc(sizeof(int)*3);


A(a);

B(a);

}



void A(int a[]){

...

free(a);

...

a=malloc(sizeof(int)*5)

...

}


void B(int a[]){

...

free(a);

...

a=malloc(sizeof(int)*7)

...

}


대강 이런 코드인데

저기 빨간글씨에서 오류 남

함수 A에서 malloc 시켜준게 함수 끝나면서 반환되버리고

함수 B에서 이걸 free 시켜줄라 하니 오류 생기는 거 같은데 이거 보존 못 하냐 ㅅㅂ