🔧 ユーティリティ ・ assert.h ・ C89
assert の使い方void assert(scalar expression);
式が偽の場合にプログラムを異常終了させ、ファイル名・行番号・式の内容を表示するデバッグ用マクロ。NDEBUGマクロを定義してコンパイルすると全てのassertは無効化される仕様。 デバッグビルドでは前提条件の破れを即座に検出でき、本番ビルドではNDEBUGでオーバーヘッドを消せる。
#include <assert.h>
int main(void) {
int x = 5;
assert(x > 0);
return 0;
}
⚠️ NDEBUGを定義したリリースビルドでは中の式自体が評価されなくなるため、assert(f())のように副作用のある呼び出しを書いてはいけない。
アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ
assert と一緒に使う関数もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。