Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- 스파르타코딩클럽
- https://mynameiskgws.tistory.com/
- 이리5조
- https://ji-han.tistory.com/
- https://vetenir.tistory.com/
- https://hjmag1120.tistory.com/
- https://eo-oe.tistory.com/
- 태어난김에 보스까지
Archives
- Today
- Total
info8995 님의 블로그
9일차(메모리 정리,스택과 힙) 본문
메모리의 구조
프로그램이 실행되기 위해서는 먼저 프로그램이 메모리에 로드(load)되어야 합니다. 또한, 프로그램에서 사용되는 변수들을 저장할 메모리도 필요합니다.
컴퓨터의 운영체제는 프로그램의 실행을 위해 다양한 메모리 공간을 제공합니다. 이 중 프로그램이 운영체제로부터 할당받는 대표적인 메모리 공간은 아래와 같습니다:
- 코드(Code) 영역: 실행할 프로그램의 명령어가 저장됩니다.
- 데이터(Data) 영역: 전역 변수와 정적 변수가 저장됩니다.
- 스택(Stack) 영역: 함수 호출과 관계된 지역 변수 및 매개변수가 저장됩니다.
- 힙(Heap) 영역: 동적으로 할당된 메모리가 저장됩니다.
운영체제가 제공하는 메모리 공간은 이러한 구조로 나뉘며, 각 영역은 서로 다른 용도와 특징을 가집니다.

- 메모리 관리의 중요성
- 메모리 관리가 제대로 이루어지지 않으면 성능 저하, 메모리 누수, 데이터 손상 등의 문제가 발생할 수 있습니다.
- 메모리 구조(스택과 힙)와 관리 기법을 이해하고 적절히 활용하는 것이 필수입니다.
- 스택(stack) 메모리
- 특징
- 함수 호출과 관련된 지역 변수와 매개변수가 저장되는 영역입니다.
- 자동으로 메모리를 할당하고 해제하여 사용자 관리가 필요 없습니다.
- LIFO(Last-In, First-Out) 방식으로 동작하며, 푸시(push)로 데이터 저장, 팝(pop)으로 데이터 인출합니다.
- 장단점
- 장점: 빠른 액세스, 메모리 단편화 없음, 변수 해제 불필요.
- 단점: 크기 제한, 지역 변수만 사용 가능, 변수 크기 조정 불가.
- 특징
- 힙(heap) 메모리
- 특징
- 사용자가 직접 메모리를 동적으로 할당하고 해제해야 합니다.
- 스택과 반대로 낮은 주소에서 높은 주소 방향으로 메모리를 할당합니다.
- 장단점
- 장점: 전역적으로 접근 가능, 메모리 크기 제한 없음.
- 단점: 느린 액세스, 메모리 관리 필요, 조각화 위험.
- 특징
'TIL(Today I Learned) > C++' 카테고리의 다른 글
| 12일차(간단한 도서관시스템) (0) | 2025.01.02 |
|---|---|
| 11일차(컨테이너 벡터) (0) | 2024.12.31 |
| 10일차(오버로딩, 오버라이딩) (0) | 2024.12.30 |
| 7일차(class) (0) | 2024.12.24 |
| 6일차(변수, 배열, 함수) (1) | 2024.12.23 |