안녕하세요. 구독자님.
비오기 전이라 많이 습하고도 시원한 바람이 동반되는 주말이네요. 오늘은 가벼운 퀴즈와 함께 개발 지식 중 하나인 힙(Heap)에 대해 알려드리고자 글을 보내어 드립니다.
힙은 동적인 메모리 할당을 담당하는 영역으로, 프로그램 실행 중에 필요한 만큼 메모리를 유연하게 사용할 수 있도록 도와주는데요. 쉽게 이해할 수 있도록 차근차근 설명해 드릴게요!
내용 재밌게 읽어주시고 좋은 하루 되시길 바랍니다 :)
- 숏폼(짧은 글)으로 보기 👉 Threads
퀴즈
- 아래의 코드를 실행하면 어떻게 될까요? (정답은 다음주에 공개)
- 정답은 댓글이나 이메일로 보내주세요! (상품은 없어요 😁)
1. 힙(Heap)이란 무엇일까요? 📚
힙은 프로그램이 실행되는 동안 자유롭게 사용할 수 있는 메모리 공간입니다. 마치 넓은 창고처럼, 필요한 물건을 넣었다 뺐다 할 수 있는 곳이죠. 힙은 주로 크기가 변하거나 프로그램 실행 중에 생성되는 데이터를 저장하는 데 사용되는데요. C/C++ 언어를
2. 힙(Heap)의 핵심 구성 요소: Chunk 📦
힙은 Chunk라는 작은 메모리 블록으로 나누어져 있습니다. 각 Chunk는 다음과 같은 정보를 담고 있습니다.
- 헤더(Header): Chunk의 크기, 상태(할당 여부) 등의 정보를 저장합니다.
- 페이로드(Payload): 실제 데이터가 저장되는 공간입니다.
이러한 Chunk는 마치 레고 블록처럼 서로 연결되어 있으며, 이를 통해 메모리 공간을 효율적으로 관리하고 있어요. 특히 헤더 영역에는 아래와 같이 다양한 정보들이 내포되고 있는데요. 이 값을 통해 다른 Chunk와의 관계를 유지할 수 있는거죠.
의견을 남겨주세요