구조

메모리는 스택, 힙, 코드, 데이터로 구성됩니다.

코드 영역에는 컴파일된 소스코드가 존재합니다.

데이터 영역에는 전역변수와 같이 프로세스와 생명주기를 공유하는 값들이 저장됩니다.

스택

스택은 함수호출시 할당되는 영역으로 함수 호출이 종료되면 해재됩니다.

스택영역의 할당될 매모리의 크기는 컴파일 시간에 정적으로 결정할 수 있습니다.

스택과 달리 런타임에 동적으로 그 크기가 결정되는 요소들을 위한 메모리 공간입니다.

스택과 달리 자동으로 매모리 공간이 해제되지 않음으로 추가적인 관리가 필요합니다.