int* x; x = (int*)malloc(sizeof(int)); printf("%p ", x); free(x); x = (int*)malloc(sizeof(int)); printf("%p",x);이렇게 돌리면 x값이 똑같이 나오던데 왜 그런지 아시는 분 ㅇㅅㅇ
똑같아서
빈 메모리 공간은 모아 놨다가 재활용합니다
오 ㄳㄳ 좀더 공부하겠음
이미 x 변수 레퍼런스를 정의해놨는데 거기서 메모리 할당을 했다 풀었다 다시해봤자 똑같잖아 레퍼런스가 같은데
해당 댓글은 삭제되었습니다.
아 코드 잘못올림 *써도 똑같이 나옴
해당 댓글은 삭제되었습니다.
그러면 free를 해줘도 실제로는 프로그램 실행하는 동안 힙에 남아있다고 이해하면 되는거야?
윗댓에서 모아서 재활용한다길래 잘못 이해했나봐. 힙에서 남는 공간을 순서대로 할당한다는 건 이해했어. 그럼 그 메모리 공간이 사용가능한지 아닌지는 어떻게 알수있는거야?