Sunday, May 26, 2013

malloc

#include void *malloc(int size); 1. 입력 파라미터인 size 바이트만큼 메모리를 할당한다. 그리고 할당된 메모리 블록의 시작 주소(포인터)를 반한환다. 2. 메모리 할당이 불가능한 경우 NULL을 반환하며 이때 NULL로 반한된 주소로 다른 연산을 수행하면 프로그램이 죽어버리기 때문에 함수 malloc() 호출후에는 반드시 null 이 아닌지 검사해야한다. 3. 함수 malloc()를 호출하여 메모리를 할당받은 쪽(프로그램)에서 메모리 사용이 끝난 다음 함수 free()를 호출하여 반드시 메모리를 해제 시켜야한다. 사용이 끝난 메모리가 해제되지 않는 것을 메모리 누수(leak)가 발생하였다고 하며, 프로그램이 차지하는 메모리가 점점 커지게 되어 프로그램 성능에 좋지 않다.

No comments:

Post a Comment