断言函数的格式如下所示:
void assert (int expression);
如果参数expression等于零,一个错误消息将会写入到设备的标准错误集并且会调用abort函数,就会结束程序的执行。
断言的消息会显示库依赖,但是它也包含一下信息,源文件的名字,处于哪一行,在哪儿发生的,一般的格式如下:
Assertion failed: expression, file filename, line line number
该函数的头文件如下所示:
<assert.h>
该函数的源码应用如下所示:
1 /* assert example */ 2 #include <stdio.h> /* printf */ 3 #include <assert.h> /* assert */ 4 5 void print_number(int* myInt) { 6 assert (myInt!=NULL); 7 printf ("%d ",*myInt); 8 } 9 10 int main () 11 { 12 int a=10; 13 int * b = NULL; 14 int * c = NULL; 15 16 b=&a; 17 18 print_number (b); 19 print_number (c); 20 21 return 0; 22 }
参考文档: