1. Text (텍스트영역)
program코드 (cpu에 의해 수행되는 기계어 명령어들이 모여있는 곳)
2. Data(데이터영역)
전역변수와 정적(static)변수가 할당된 곳. 프로그램 시작과 동시에 할당되고 프로그램이 종료되어야 메모리에서 소멸된다.
(1) initialized data segment(초기화된 데이터영역) : initialized variables (초기화된 데이터들)
(2) uninitialized data segment(비초기화된 데이터영역) : uninitialized variables (비초기화된 데이터들) – BBS(block started by symbol)이라고도 함
3. Stack(스택영역)
automatically allocated variables(local variables) and other stack frame entries
지역변수와 매개변수가 저장되는 곳. 이 영역에 할당된 변수는 함수 호출이 끝나면 사라진다.
-컴파일 타임 크기 결정
4. Heap(힙영역)
dynamically allocated variables
동적 메모리 할당하는 곳. 프로그래머가 할당 및 해제를 해주어야 한다.
-런타임 크기 결정
구조도