assert( expression ) 関数型マクロ assert() は式 expression が 偽 の場合に診断メッセージを表示して関数 abort() を呼び出します。 ヘッダファイル assert.h がインクルードされる前にマクロ NDEBUG を定義するとマクロ assert() の呼び出しは除去されます。 assert() マクロは簡単な論理エラーを検出するために役立つ道具の一つです。 前提条件を仮定している場所に assert() マクロを挿入しておくと論理エラーを発見しやすくなります。 たとえば次のような前提条件を検査できます。 // 例えば引数にポインタ NULL を認めない関数の先頭で引数の仮定を検査するために // ポインタ p は NULL ではないはずだ! assert( p ); // ストリーム fp の現在位置はファイル終端ではないはずだ! asse