想定外の入力や状態が来ても壊れないよう、あらかじめチェックを仕込んでおくプログラムの書き方の姿勢のこと。「呼び出し側が正しく使ってくれる」と過信しないことが、この考え方の核心にある。
「ここでは絶対にこの条件が成り立つはずだ」という前提をコードに書いておき、破られたら即座にプログラムを止めるマクロのこと。リリース版のビルドでは、NDEBUGの定義によって無効化されることもある。
ポインタを使う前に、それがNULL(何も指していない)でないかを確認しておく防御的な習慣のこと。事故を未然に防ぐ基本作法。if (p != NULL)という書き方が、この確認のもっとも基本的な形になる。
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。