메모리 구조에 대해 간단하게 보겠습니다.
1. 코드 영역(실행할 프로그램의 코드)
2. 전역 변수/정적 변수(데이터 영역)
3. 사용자 동적 할당(힙 영역)
4. 지역변수 매개변수(스택 영역)
코드영역
말 그대로 프로그램 코드가 돌아가는 곳입니다. CPU는 코드 영역에서 명령어를 하나씩 가지고 와서 처리합니다.
데이터 영역
프로그램이 전역(Static) 변수가 저장되는 영역입니다.
힙 영역
프로그래머가 직접 공간을 할당, 해제하는 공간입니다.
힙 메모리는 포인터를 사용하여 힙에 엑세스해야하기 때문에, 읽기와 쓰기가 약간 느립니다.
기본적으로 global scope 입니다.
FIFO(First in First out) 방식입니다.
스택 영역
함수의 호출과 관계되는 지역 변수와 매개변수가 저장됩니다.
LIFO(Last in First out) 방식입니다.
local scope입니다.
- 참고
https://all-young.tistory.com/17
https://junghyun100.github.io/%ED%9E%99-%EC%8A%A4%ED%83%9D%EC%B0%A8%EC%9D%B4%EC%A0%90/
https://hwan1402.tistory.com/110
'기술' 카테고리의 다른 글
프로토콜 버퍼란? (0) | 2022.12.01 |
---|---|
객체지향의 원칙 (0) | 2021.10.20 |
OSI 7 Layer (0) | 2021.08.24 |
DB Index (0) | 2021.08.14 |
프로세스(Process)와 쓰레드(Thread)의 차이 (0) | 2021.08.13 |