C语言assert断言

简介: C语言assert断言

断言是对某种假设条件进行检查。

C语言中,断言被定义成宏的形式,原型在<assert.h>中。

#include <assert.h>
void assert( int expression );

assert将通过检查表达式expression的值来决定是否需要终止执行程序。

如果expression的值为假,将首先向标准错误流stderr打印一条出错信息,然后通过调用abort函数终止程序运行,否则assert无任何作用。

注意点

断言用来处理不应该发生的非法情况,而对于可能发生且必须处理的情况应该使用错误处理代码,而不是断言。

默认情况下,assert宏只在Debug版本中才能够起作用,在Release版本中将被忽略。

// 非Debug模式
#define NDEBUG
// Debug模式
#define DEBUG
相关文章
|
10天前
|
测试技术 C语言 开发者
【C语言】assert断言:保护程序的利器
【C语言】assert断言:保护程序的利器
31 0
|
10天前
|
程序员 C语言 UED
详解C语言assert宏
详解C语言assert宏
29 0
|
6月前
|
程序员 C语言
【C语言】如何写出好(易于调试)的代码——assert和const的使用
【C语言】如何写出好(易于调试)的代码——assert和const的使用
25 0
|
10天前
|
安全 程序员 编译器
[C语言]指针进阶之野指针与assert断言
[C语言]指针进阶之野指针与assert断言
|
10天前
|
算法 编译器 C语言
C语言assert断言详解指针(3)
C语言assert断言详解指针(3)
TU^
|
2天前
|
C语言
C语言内存函数和字符串函数模拟实现
C语言内存函数和字符串函数模拟实现
TU^
8 0
|
3天前
|
C语言 存储
C语言—部分库函数的模拟实现
C语言—部分库函数的模拟实现
|
1天前
|
存储 C语言
C语言中的输入输出函数技术详解
C语言中的输入输出函数技术详解
|
1天前
|
存储 Serverless C语言
C语言中的函数:深入理解与应用
C语言中的函数:深入理解与应用