C 编程/assert.h/函数参考
外观
void assert(expression);
assert
宏返回 void
,即 没有值。
assert
宏的行为取决于 NDEBUG
宏的值。有关更多详细信息,请参阅 assert.h。
如果定义了 NDEBUG
,则无论参数如何,宏 assert
都定义为
#define assert(expression) ((void) 0)
如果未定义 NDEBUG
,则 assert
宏充当诊断测试。如果宏的 expression
参数为假(请参阅 C 编程/控制),则宏扩展为一个语句,该语句将参数的文本、当前文件名、行号和函数名写入标准错误流。最后,assert
宏调用 abort()
函数。
每次包含 assert.h
头文件时,assert
宏都会根据 NDEBUG
的值重新定义。