프로그래밍 일반사무자동화산업기사 · 2016년05월08일 · 51/80
51.표준 C언어에서 포인터 변수를 사용할 때 기억 장소의 관리 문제로 데이터 접근 경로가 없어진 후에도 데이터 객체가 메모리에 지속적으로 남아 있는 경우가 발생하며 이를 쓰레기(garbage)라고 한다. 이 쓰레기를 없애기 위해 사용되는 함수 명령은?
1
free정답
2
fork
3
malloc
4
return
해설
free() 함수는 헤더 파일 stdlib.h에 정의되어 있으며 malloc(), calloc(), realloc()등의 함수로 할당받은 메모리를 반납함 형태는 void free(void *ptr)이며 ptr은 메모리를 해제할 포인터 malloc()은 마찬가지로 stdlib.h에 정의되어 있으며 메모리를 할당받고 할당받은 공간의 주소를 리턴함 형태는 void *malloc(size_t size)이며 size는 할당 크기 return은 함수를 종료하며 return값을 반환하고 함수를 호출했던 원래 위치로 되돌아감 return은 함수가 아니므로 4번 return은 절대로 답이 될 수 없다. fork()함수는 현재 프로세스를 복제하여 자식 프로세스를 생성하는데 사용됨 헤더파일 unistd.h에 정의되어 있고 원형은 pid_t fork(void); pid_t는 sys/types.h에 int로 정의되어 있음