当assert的表达式(即参数expression)等于0或者为false时,assert会向stderr输出一些错误信息,并且调用abort终止程序运行。このマクロは、直前の(または)のインクルード時点でマクロNDEBUGが定義されていなかった場合に有効となり、NDEBUGが定義されていた場合は無効となる。パラメータの式の型はスカラ型でなければならない。通常のエラーチェックに使うものではないことに注意しましょう」と書きました。使うべきではない場合と、使ったほうがよい場合について書いてみたいと思います。