정적할당 : 프로그램의 메모리를 정해서 할당해주는 방식
동적할당 : 필요에따라 메모리를 할당해주는 방식
1. 메모리영역
메모리영역은 총 4가지의 영역으로 나뉜다.
Stack -변수 저장 |
Heap -내가 할당해주는 영역 |
Data -데이터 저장 |
Code -코드 저장 |
동적할당에서 중요한 부분은 Heap영역이다.
우선 Stack과 Heap의 차이점을 알아보자면, Stack은 컴퓨터가 관리하는 메모리이다.
하지만 Heap영역은 사용자가 직접 관리하는 공간이다. 따라서 동적할당에서는 Heap영역을 이용하게된다.
2. 동적할당
(메모리)사용방법
void* -> int*
malloc함수①int * n = (int*) malloc (sizeof(int));
<-대입 Heap에 int바이트 할당(4바트)
realloc함수②
(메모리)해제방법
free(n);
동적할당에서 사용한 메모리는 꼭 해제시켜주어야한다.
SMALL