![](https://velog.velcdn.com/images/gemnsh/post/397bbb20-e02f-4516-bd01-543c237cd8d8/image.png)
정의
프로세스에 할당된 메모리 공간
구성
Stack
- 함수의 호출과 관계되는 지역 변수와 매개변수가 저장되는 영역
- 메모리의 높은 주소에서 낮은 주소의 방향으로 할당함
- 읽고 쓰기 가능
Heap
- 런타임에 크기가 결정되는 영역
- 참조형 데이터가 저장된 영역
- 메모리의 낮은 주소에서 높은 주소의 방향으로 할당함
- 사용자에 의해 공간이 동적으로 할당됨
Code
Data
Data와 Stack이 나눠진 이유
- 역할을 분배하고 멀티스레딩을 할 때 전역변수를 공유하기 위해서