其主要用意在幫Program debug在使用的方法,類似Java的Log類別一樣的方法
以下是加入前跟加入後的程式碼以及呈現的畫面:
加入assert前:
/* assert example */
#include <stdio.h>
#include <assert.h>
void print_number(int* myInt) {
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;
}
加入assert後:
/* assert example */
#include <stdio.h>
#include <assert.h>
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;
}
就此看得出來其差異,以上程式碼皆參考自官方sample
參考文章:
http://www.cplusplus.com/reference/clibrary/cassert/assert/
http://zh.wikipedia.org/wiki/Assert.h