[c언어] 포인터를 활용한 동적 메모리 할당

동적 메모리 할당은 프로그램 실행 중에 메모리를 할당하고 해제하는 방법을 말합니다. 이는 프로그램이 실행될 때만 필요한 메모리를 동적으로 할당하고, 작업이 완료되면 해당 메모리를 해제하여 시스템 자원을 효율적으로 활용할 수 있도록 도와줍니다.

메모리 할당을 위한 함수들

C 언어에서는 메모리 할당과 해제를 위해 malloc, calloc, realloc, free 등의 함수를 제공합니다.

// 메모리 할당과 해제 예시
int *ptr = (int *)malloc(sizeof(int)); // int 형 변수를 위한 메모리 할당
free(ptr); // 할당된 메모리 해제

포인터 활용

할당된 메모리를 활용하기 위해서는 포인터를 사용해야 합니다. 포인터를 사용하면 할당된 메모리에 접근하여 값을 읽거나 쓸 수 있습니다.

// 포인터를 통한 값 할당 및 접근 예시
int *ptr = (int *)malloc(sizeof(int)); 
*ptr = 10; // 포인터를 통해 값 할당
printf("%d", *ptr) // 포인터를 통해 값 출력

메모리 누수와 안전한 활용

동적 메모리 할당은 프로그래밍을 더 유연하게 할 수 있지만, 신중하게 다뤄져야 합니다. 메모리 누수와 메모리 충돌 같은 문제를 방지하기 위해 메모리 할당 후 적절히 해제해주는 것이 중요합니다.

효율적이고 안전한 동적 메모리 할당은 프로그램의 안정성과 성능을 더 향상시킬 수 있습니다.

참고 문헌