学堂 学堂 学堂公众号手机端

【C语言】assert() 断言的作用

lewis 1年前 (2024-04-18) 阅读数 17 #技术


​assert​​ 是宏,而不是函数。它的原型定义在头文件 assert.h 中:

void assert( int expression );

宏 assert 经常用于在函数开始处检验传入参数的合法性,可以将其看作是异常处理的一种高级形式。assert 的作用是 先计算表达式 expression,然后判断:


如果表达式值为假,那么它先向 stderr 打印错误信息,然后通过调用 abort 来终止程序运行。如果表达式值为真,继续运行后面的程序。

注意:​​assert​​​ 只在 ​​DEBUG​​​ 下生效,在调试结束后,可以通过在 ​​#include <assert.h>​​​ 语句之前插入 ​​#define NDEBUG​​ 来禁用 assert 调用。

#define
#include <assert.h>


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门