모두의 코드
C 언어 레퍼런스 - free 함수
이 글은 29267 번 읽혔습니다.
free
stdlib.h
에 정의됨
void free(void* ptr);
메모리를 해제한다
이전에 malloc 혹은 calloc, realloc
등으로 할당된 메모리를 해제해서, 나중에 다시 사용될 수 있게 합니다.
만일 ptr
이 위의 함수들도 할당된 메모리를 가리키지 않는다면, 무슨일이 일어날지는 아무도 모릅니다(undefined behavior).
만일 ptr
이 널 포인터라면, 위 함수는 아무것도 하지 않습니다.
인자들
기존에 malloc, callor, realloc
으로 할당된 메모리의 시작점을 가리키는 포인터
리턴값
없음
실행 예제
/* free example */ #include <stdlib.h> /* malloc, calloc, realloc, free */ int main() { int *buffer1, *buffer2, *buffer3; buffer1 = (int*)malloc(100 * sizeof(int)); buffer2 = (int*)calloc(100, sizeof(int)); buffer3 = (int*)realloc(buffer2, 500 * sizeof(int)); free(buffer1); free(buffer3); return 0; }
실행 결과
실행 결과
(잘 실행 된다.)
참고 자료
malloc : 메모리를 할당한다.
calloc
: 0 으로 초기화된 메모리를 할당한다.realloc
: 메모리를 재할당 한다.
댓글이
3 개 있습니다!
강좌에 관련 없이 궁금한 내용은
여기를 사용해주세요
또는 직접 입력하세요 (댓글 수정시 비밀번호가 필요합니다)
댓글을 불러오는 중입니다..