[c언어] 동적 메모리 할당을 위한 free 함수
동적 메모리 할당은 프로그램이 실행 중에 필요한 메모리를 동적으로 할당하는 데 사용됩니다. 이를 통해 프로그램이 유연하게 메모리를 관리할 수 있습니다. 그러나 메모리를 할당한 뒤에는 반드시 해제해야 하며, 이를 위해 free
함수를 사용합니다.
메모리 할당과 해제
동적 메모리 할당은 malloc
, calloc
, realloc
등의 함수를 사용하여 메모리를 할당합니다. 예를 들어, 다음은 malloc
을 사용하여 정수형 배열을 할당하는 예제 코드입니다.
int* ptr = (int*)malloc(5 * sizeof(int));
이제 ptr
포인터는 5개의 정수를 저장할 수 있는 메모리를 가리키고 있습니다. 그러나 이 메모리를 더 이상 사용하지 않게 되면 반드시 해제해야 합니다.
free
함수
free
함수는 이전에 할당한 동적 메모리를 해제하는 데 사용됩니다. 다음은 ptr
이 가리키는 메모리를 해제하는 코드입니다.
free(ptr);
메모리를 해제한 후에는 더 이상 해당 메모리를 참조하거나 사용해서는 안 됩니다. 그리고 이미 해제된 메모리를 참조하면 프로그램이 비정상적으로 종료될 수 있습니다.
free
함수를 사용하여 할당된 메모리를 올바르게 해제하면 우리의 프로그램이 메모리를 효율적으로 관리하고, 메모리 누수를 방지할 수 있습니다.
참조: c언어 메모리 할당 및 해제 (calloc, malloc, free, realloc)