<cassert>(<assert.h>)头文件之assert函数

来源:互联网 发布:淘宝卖游戏币赚钱吗 编辑:程序博客网 时间:2024/06/13 08:41

官方例子

/* assert example */#include <stdio.h>      /* printf */#include <assert.h>     /* assert */void print_number(int* myInt) {
  assert (myInt!=NULL);  printf ("%d\n",*myInt);}int main (){  int a=10;  int * b = NULL;  int * c = NULL;  b=&a;  print_number (b);  print_number (c);  return 0;}
当asset()函数括号里的表达式为假时,执行函数,显示信息为:

Assertion failed: expression, file filename, line line number 

例如在我的本地编译器显示信息为:



修正之前的说法,以免误导别人。

这个函数叫断言函数,例如assert (myInt!=NULL);中就是断言(认为)myInt != NULL ,如果断言不准确,即条件为假,则会提示上图红框中的信息,并暂停在这一行,不执行后面的代码。这是一种异常处理机制,在实际工程中应用特别广泛,可以提高安全性:例如要保证某个条件成立时才执行某些行为,可以在要执行的行为前加入断言函数,以保证安全性。

当然这在调试过程中也是很有用的。

0 0
原创粉丝点击