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 시켜줄라 하니 오류 생기는 거 같은데 이거 보존 못 하냐 ㅅㅂ
추천함
넌 포인터부터 다시해야하는거아니냐
저거 함수 인자 잘못 씀
int a 가 아니라 int a[]임 수정함
님 천재요.
이상한 말 하지 말고 알려달라고
if (a) {free(a); a= NULL;}
님들 진짜 장애들임? 힙에 활당했는데 어캐 함수가 끝나면 반환이 됨??ㅋㅋㅋㅋㅋㅋㅋㅋ 좀 알지도 몬하면 댓글을 달지말자 잘 되는 코드구만