メインメモリの領域のうち、プログラムの実行中に確保と解放をおこなう目的で使用される領域のことです。
データ構造としての「ヒープ」と混同しないように、「ヒープ領域」や「ヒープメモリ」などと呼ぶと明確ですが、どちらも単に「ヒープ」と呼ばれることも多いです。
プログラムの実行開始時に、OS などがメモリ領域の一部をヒープとして使えるように準備します。プログラムの実行中、メモリの確保が必要になったときに OS に要求を出し、ヒープ領域の一部を割り当ててもらいます。割り当てられた領域が不要になったら、解放の操作を行って返却します。このように、プログラムの実行中にメモリの確保と解放をおこなう手法を、ダイナミックメモリアロケーション(動的メモリ確保)といいます。
多くの処理系で、ダイナミックメモリアロケーションの実現のためにヒープ領域を用いますが、必ずしもそうでなければならないわけではありません。たとえば、OS がない環境では、静的に使えるメモリ領域の一部分をヒープに見立てて、自力で確保・解放をおこなうプログラムを書いて実現することがあります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
![]() |
管理者情報 | プライバシーポリシー |