C 동적 메모리 할당

C 동적 메모리 할당은  동적 메모리 할당을 위한 수동 메모리 관리를 수행하는 것을 말하며 C에 담긴 , ,  그리고  등의 함수를 말한다. 메모리 동적 할당을 위한 포인터 변수를 선언하여 동적 할당을 하는 순간 일반 변수를 저장하는 stack이 아닌 heap에 저장되기 때문에 free로 동적 할당을 해제하지 않는 이상 메모리가 반납되지 않으며, 따라서 함수가 끝나더라도 메모리의 값은 유지된다. 그래서 C언어 교재나 강의에서 문자열, 구조체 주소를 반납하는 함수를 다룰 때 malloc 사용을 반드시 하거나, static을 사용하라고 한다.

C++ 언어에는 C 언어와 호환되는 위의 함수들을 포함되나 기능적으로 유사한 와  오퍼레이터가 제공되며 이쪽을 사용하는 것이 권장된다.

을 사용함으로써 여러 방식의 실제 메모리 할당 매커니즘을 실행할 수 있다. 퍼포먼스 방식에 따라 실행 시간이나 필요한 메모리 공간 또한 다양하다.

각주 

메모리 관리
C 표준 라이브러리
C++