是宏定義,可以這樣解釋:
#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之間的語句