Table of Contents
C – free()
할당/해제
C 에서는 할당된 메모리의 첫 포인터만 기억한다.
따라서 free() 역시 첫 포인터만 해제해 주면 모든 메모리가 해제된다.
char* buf = malloc(sizeof(char) * 100);
free(buf);
조각모음은 누가하나?
free() 가 랜덤하게 호출될 것이고, 메모리는 조각조각 사용가능한 메모리가 생긴다.
이 사용가능한 조각들을 C 에서 처리해 준다.
buf[0], buf[1] … 등으로 간단히 사용하지만,
실제로는 buf[1] 은 buf[0] 의 옆이 아닐 수 있다.