C語言中,斷言的使用

2021-07-22 17:42:36 字數 350 閱讀 5364

標準c中的斷言函式assert(),如果斷言函式的引數為0時將觸發斷言函式的執行,會在執行時程式崩潰。

我從freertos中學到,freertos中的斷言函式configassert()和標準c中的斷言函式assert()是一樣的,

我們可以重新利用他,下面我用乙個簡單的程式例項,來學習下。

#include#include//#include#define configassert(x) if((x) ==0)

struct item;

void additem(struct item *itemptr)

void main()

C語言中斷言ASSERT

我一直以為assert僅僅是個報錯函式,事實上,它居然是個巨集,並且作用並非 報錯 在經過對其進行一定了解之後,對其作用及用法有了一定的了解,assert 的用法像是一種 契約式程式設計 在我的理解中,其表達的意思就是,程式在我的假設條件下,能夠正常良好的運作,其實就相當於乙個if語句 if 假設成...

C語言中的斷言

假設要求程式輸入兩個數先後為x和y,要求 x y,否則即認為程式錯誤。如下。assert.c include include int main return 0 執行結果如下圖 由此可見,如果 assert 中止了程式,它會顯示失敗的測試 包含測試的檔名和行號。assert 巨集接受乙個整型表示式作...

c語言程式設計中 斷言

本文除了介紹assert在c語言程式設計的的使用,更重要的是在rtos系統程式設計中,configassert除錯的方法。首先,介紹assert函式下c程式設計中的使用 測試程式如下 include include include includeint max fun int a,int b int...