C 库 - <assert.h>

C 标准库的 assert.h 头文件提供了一个名为 assert 的宏,该宏可用于验证程序所做的假设,并在假设不成立时打印诊断消息。

定义的宏 assert 引用了另一个宏 NDEBUG,而该宏不属于 <assert.h>。如果源文件中将 NDEBUG 定义为宏名,则在 <assert.h> 所在的位置包含后,assert 宏定义如下 -

#define assert(ignore) ((void)0)

库宏

以下是头文件 assert.h 中定义的唯一函数 -

Sr.No. 函数 &说明
1 void assert(int expression)

这实际上是一个宏,而不是函数,可用于在 C 程序中添加诊断信息。

2 static_assert(boolean_expression, message)

如果常量表达式的值为 false,则此宏会发出编译时诊断信息。