C言語学習ポータル(無料版) 学習コンテンツ 用語辞典 二重解放

二重解放とは

読み:にじゅうかいほう・C言語用語辞典

同じメモリ領域に対してfreeを2回呼んでしまう事故のこと。プログラムのクラッシュや、意図しない不正な動作の原因になる。1つのポインタに対してfreeは1回だけ、というルールを徹底することが対策になる。

関連する用語

freeふりー

mallocなどで借りたメモリをヒープへ返す関数のこと。呼び忘れるとメモリリーク、二重に呼ぶと二重解放という事故につながる。freeした後のポインタをそのまま使い続けると、危険な事故につながる。

ダングリングポインタだんぐりんぐぽいんた

freeした後もそのメモリのアドレスを指したままになっているポインタのこと。もう存在しない場所を指す「宙ぶらりん」の状態を指す。解放後にNULLを代入しておくことで、この危険な状態を防ぐ工夫ができる。

アプリの用語集で引く(無料・登録不要) 用語辞典の目次へ

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る