동적 할당이란?
원하는 만큼 공간을 사용할 수 있다.
메모리 관리에 효율적이다.
만약 int a[10]; 이렇게 선언을 했다면
배열을 모두 사용하지 않을 경우 불필요한 메모리 할당이 된다.
이러한 문제를 해결할 수 있는 것이 동적 할당이다.
memory(메모리) allocation(할당) = malloc
동적 할당 특징
- malloc() 함수를 이용하여 동적 메모리 공간 할당 가능
(헤더파일 stdilb.h에 정의)
- malloc() 함수는 동적 할당 실패 시 NULL 반납
- malloc() 함수는 리턴 타입을 지정하지 않으면 void *() 형 리턴
- malloc() 은 free() 함수를 이용하여 반드시 프로그램 종료 시 동적 할당 공간 해제해야 함
동적 할당 사용법
int *i = (int*)malloc(sizeof(int));
sizeof(int) = int의 크기만큼 할당받겠다.
int의 크기와 할당받을 크기를 곱해서 메모리에 넣기
<참고>
https://m.blog.naver.com/cache798/130033385486