在我們?nèi)粘5?C 語言編程中,針對編程任務(wù)的實(shí)現(xiàn),我們有時需要檢查變量或者表達(dá)式的值是否合法,這個時候,assert 就給我們提供了一種有效的方法。assert 頭文件包含了通過 assert() 宏定義所需要的基本組件。本文將會詳細(xì)的介紹 assert 頭文件及其使用方法。
assert.h 是頭文件,通過其可以使我們使用 assert 宏。assert 宏是使用 assert.h 定義的,因此在使用 assert 宏之前,請確保正確地包含了 assert 頭文件。
程序中通過下面的語句引用assert.h 文件:
assert() 函數(shù)用于在編程中進(jìn)行條件檢查。如果指定的條件求值為 false(即表達(dá)式結(jié)果為 0),assert() 宏將終止程序,同時向標(biāo)準(zhǔn)錯誤輸出產(chǎn)生一條診斷信息。assert 宏的最簡單形式如下:
其中,expression 是進(jìn)行斷言檢查的表達(dá)式。如果 expression 表達(dá)式的值為 false,則它會像下面這個樣子終止:
當(dāng)然,如果表達(dá)式為真,assert() 不會產(chǎn)生任何效果。如果調(diào)用的表達(dá)式的值為 false,assert() 宏將引發(fā)一個事件來輸出錯誤信息。如果想要自定義 assert() 宏的行為,則應(yīng)定義一個名為 \"NDEBUG\" 的符號。
ASSERT 宏通常被用于調(diào)試,因此在發(fā)布版本中應(yīng)盡可能減少 ASSERT 宏的使用。當(dāng)然,如果不清楚一個表達(dá)式是否正常工作,assert() 是一種非??焖?、建設(shè)性的方法來檢查它。
assert() 的最終目標(biāo)是終止程序,以盡可能快地抑制不穩(wěn)定的行為。如果 ASSERT 宏不會終止,應(yīng)考慮用錯誤輸出將消息傳遞到應(yīng)用程序的區(qū)域。
此外,ASSERT 宏還能判斷所指定的斷言應(yīng)該被執(zhí)行,當(dāng) expression 為 false 時,程序才會進(jìn)入斷言狀態(tài)。因此,如果 expression 會引起重大后果,那么必須正式使用 assert 宏。
assert 頭文件提供了一種非??焖?、建設(shè)性的方法來檢查表達(dá)式是否正常工作。這個頭文件還通過 assert() 宏定義了斷言所需要的基本組件。在使用 assert 宏之前,請確保正確地包含了 assert 頭文件。assert 宏可以用于調(diào)試,但不能在發(fā)布版本中過度使用,因?yàn)閍ssert會終止程序。
下一篇:送崔九古詩帶拼音正版(一首送給崔九的古詩) 下一篇 【方向鍵 ( → )下一篇】
上一篇:教師升職感言簡短幾句話(教師的成長與轉(zhuǎn)變) 上一篇 【方向鍵 ( ← )上一篇】
快搜