是宏定义,可以这样解释:
#if a
如果表达式a为真,则...
#endif
这一段定义结束
#ifdef A
如果定义了符号 A,则...
#endif
assert()是一个调试时用的宏,一种assert定义如下:
#define assert(p) if(!(p)){fprintf(stderr,/
"Assertion failed: %s, file %s, line %d/n ",/
#p, __FILE__, __LINE__);abort();}
即:若p为0(假)
则调用abort,并打印错误信息
#if 常数表达式
语句段
#endif
常数表达式为真,该程式段被编译,否则跳过去不编译。
#ifdef 宏替换名
语句段
#endif
如果宏替换名在此之前以由#define语句给出定义。就编译#ifdel和endif之间的语句