Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

free()는 할당 해제될 메모리의 크기를 어떻게 알 수 있습니까?

<시간/>

free() 함수는 malloc(), calloc() 및 realloc()을 사용하여 할당되는 동안 메모리를 할당 해제하는 데 사용됩니다. free의 문법은 간단합니다. 우리는 단순히 포인터와 함께 free를 사용합니다. 그러면 메모리를 정리할 수 있습니다.

free(ptr);

free()는 어떤 크기도 매개변수로 사용하지 않고 포인터만 사용합니다. 그래서 free() 함수가 할당 해제할 블록의 크기를 어떻게 알 수 있는지에 대한 질문이 나옵니다.

메모리 할당을 위해 동적 메모리 할당 기술을 사용할 때 이것은 실제 힙 섹션에서 수행됩니다. 요청한 크기보다 한 단어 더 크게 만듭니다. 이 추가 단어는 크기를 저장하는 데 사용됩니다. 이 크기는 메모리 공간을 지우고자 할 때 free()에 의해 사용됩니다.