작성
·
325
·
수정됨
0
fopen이 반환하는것은 파일구조체의 포인터입니다.
이러한 fopen이 반환하는 파일구조체는 메모리 레이아웃에서 어디에 위치하고 있나요?
fopen함수를 사용하면 생기는 파일 구조체를 파일스트림 이라고 이해하면 될까요?
그리고 fclose를 사용하는 이유는, 파일이 다 읽히지 않았을 때 버퍼에 남아있는 데이터가 오류를 일으키지 않게 하기 위함이라고 하셨습니다. 그 이유 외에 메모리 누수를 방지하기 위함도 있나요?
답변 1
0
안녕하세요, 하나씩 답변드리자면
힙 영역에 할당됩니다.
그렇습니다.
.맞습니다. 할당을 해제하지 않으면 계속 데이터가 남아있을텐데 이러한 문제가 메모리 누수라고 볼 수 있습니다.
관련한 비슷한 질문을 담은 링크를 참고삼아 첨부하여 드립니다.
https://stackoverflow.com/questions/24565191/file-pointer-in-c-dynamically-allocated
친절한 답변 감사드립니다.