[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)