
Code 영역
- 실행할 프로그램의 코드(함수, 제어문, 상수 등)에 대한 기계어 코드가 저장되는 영역
- 읽기 전용 데이터
- CPU가 이 영역에 있는 명령을 읽고 처리
Data 영역
- 전역변수, 정적변수, 초기화된 배열 등이 저장되는 영역
- 프로그램 시작과 동시에 할당되고, 종료 시 메모리 소멸
Heap 영역
- 동적할당으로 할당된 변수가 저장되는 영역
- 더 이상 heap 영역을 참조하는 변수가 없을 경우 소멸
- 선입선출
- 메모리의 낮은 주소에서 높은 주소 방향으로 할당됨
Stack 영역
- 지역변수, 블록 내에서 할당된 변수가 저장되며 블록을 벗어나면 소멸
- 선입후출
- 메모리의 높은 주소에서 낮은 주소의 방향