2020학년도 시스템프로그래밍 malloc lab 보고서
- 최초 등록일
- 2020.12.16
- 최종 저작일
- 2020.12
- 18페이지/ 어도비 PDF
- 가격 4,500원
* 본 문서는 PDF문서형식으로 복사 및 편집이 불가합니다.
소개글
2020학년도 국립대 컴퓨터공학과 시스템프로그래밍 과목의 4번째 랩과제인 malloc lab의 보고서 자료입니다. naive, implicit, explicit 의 구현 내용을 모두 포함하고 있습니다.
시스템프로그래밍 과목이 꽤 추상적이라 보고서로 설명하기 쉽지 않은데 이 자료를 참고하시면 보고서를 쓰시는 데 도움이 될 것이라 생각합니다.
목차
1. naive
2. implicit
3. explicit
본문내용
realloc 함수는 이미 할당된 메모리 블록의 크기를 다시 변경하는 함수이다. oldptr 파라미터 는 크기를 변경할 할당되어 있는 블록의 포인터이고, size는 변경할 크기이다. size_t 타입의 oldsize와 void형 newptr 포인터 변수를 선언한다.
그리고 나서, 인자에 따라 조건문을 수행한다. 첫째로, size가 0 이면 할당을 하지 않겠다는 의미이므로 oldptr가 가리키는 블록을 가용 블록으로 만들어주고 0을 리턴한다. 둘째로, oldptr가 NULL이면 해당 공간에 malloc(size)를 호출하여 할당 작업을 한다. 이미 할당되어 있으면 line 109에서와 같이 malloc(size)를 호출한 다음 제대로 할당이 되었다면 oldsize에 할당되어 있던 블록의 크기를 저장하고, 만약 oldsize가 할당하려 하는 size보다 크다면 size 를 oldsize에 저장한 다음(크지 않으면 oldsize는 변하지 않는다) memcpy 함수로 newptr 블 록에 oldptr 블록의 내용을 oldsize만큼 복사한다. 그리고 나서 oldptr가 가리키는 블록을 fr 함수로 가용 블록으로 만든 다음 새롭게 할당한 블록을 가리키는 포인터 newptr를 리턴한다.
참고 자료
없음