assert.h中,就只定義了乙個用來除錯的巨集assert。
1. ndebug巨集,用來表示是否是debug狀態,當該巨集定義時,assert的巨集被定義為:
#define assert(ignore) ((void)0)
((void)0)是空語句,不會產生任何**。寫成這種形式的原因是,比如乙個(assert(02. assert巨集:它被定義為巨集,當表示式為真時,什麼也不做。否則輸出除錯資訊,具體實現c99並未規定,同時,c99指出,若將assert定義為呼叫函式,那麼是呼叫結果是未定義的。
c語言標準庫詳解(十) 診斷函式assert h
中只有乙個assert巨集。assert巨集用於為程式增加診斷功能,形式如下 void assert int expression 如果執行語句 assert expression 時,表示式的值為0,則assert巨集將在stderr中列印一條訊息,比如 assertion failed 表示式,...
C標準庫之一 assert h
assert.h是c標準庫中的斷言模組的標頭檔案,而斷言庫主要的作用就是定義了assert巨集。assert巨集主要用於程式的除錯階段,當被該巨集判斷的語句是邏輯假的,該巨集將輸出一條錯誤資訊,並呼叫abort 函式中斷程式。序號 介面原型解釋1 void assert int expression...
C標準庫參考指南系列譯文(1)assert h
英文原文 中文譯者 柳驚鴻 poechant 1.1 assert.h 斷言標頭檔案用於除錯。巨集 assert 外部引用 ndebug 1.1.assert 宣告 void assert intexpression 斷言標頭檔案中的巨集允許你將一些特殊資訊寫入到標準錯誤檔案。如果表示式的值為0 f...