1. Variables in Memory
(Variables => Stack)
Code 영역
- 실행 코드, 전역상수, static 전역상수 부분
- 이 영역의 정보는 read only로서 절대 변경되지 않아야 한다.
- 컴파일할 때, 크기가 정해진다.
Data & Bss 영역
- Data 영역은 초기화된 static, 초기화된 전역변수 부분
- Bss 영역은 초기화되지 않은 전역변수, 0으로 초기화된 전역변수, 초기화되지 않은 static 변수, 0으로 초기화된 static 변수가 올라오는 부분
- Bss 영역에 올라오는 모든 변수는 0으로 초기화된다.
- 컴파일할 때, 크기가 정해진다.
Heap 영역
- 동적으로 할당해준 변수(malloc, new)가 올라오는 부분
- 먼저 들어간 데이터가 가장 먼저 나온다.(FIFO)
- 실행할 때, 크기가 정해진다.
Stack 영역
- 임시적으로 생성해준 변수(지역 변수)가 올라오는 부분
- 먼저 들어간 데이터가 가장 나중에 나온다.(FILO)
- 실행할 때, 크기가 정해진다.
': : C++' 카테고리의 다른 글
ISO C++11 does not allow conversion from string literal to 'char *' (0) | 2024.08.27 |
---|---|
[Memory Structure] 변수 타입 (0) | 2024.06.29 |
Overloading, Override, 다형성 (0) | 2024.04.17 |