C語言的assert巨集的用法

2021-06-20 18:08:19 字數 1515 閱讀 1857

assert巨集的原型定義在中,其作用是如果它的條件返回錯誤,則終止程式執行,原型定義:

#include

void assert( int expression );

assert的作用是現計算表示式 expression ,如果其值為假(即為0),那麼它先向stderr列印一條出錯資訊,

然後通過呼叫 abort 來終止程式執行。

請看下面的程式清單badptr.c:

[cpp]view plain

copy

print?

#include 

#include 

#include 

intmain( 

void

)    

巨集名: assert

功 能: 測試乙個條件並可能使程式終止

用 法: void assert(int test);

程式例:

[cpp]view plain

copy

print?

#include 

#include 

#include 

struct

item ;  

/* add item to list, make sure list is not null */

void

additem(

struct

item *itemptr)   

intmain(

void

)    

assert() 巨集用法

注意:assert是巨集,而不是函式。在c的assert.h標頭檔案中。

assert巨集的原型定義在中,其作用是如果它的條件返回錯誤,則終止程式執行,原型定義:

[cpp]view plain

copy

print?

#include 

void

assert( 

intexpression );  

assert的作用是先計算表示式

expression

,如果其值為假(即為0),那麼它先向標準錯誤流

stderr

列印一條出錯資訊,然後通過呼叫

abort

來終止程式執行;否則,assert()無任何作用。巨集assert()一般用於確認程式的正常操作,其中表示式構造無錯時才為真值。完成除錯後,不必從源**中刪除assert()語句,因為巨集ndebug有定義時,巨集assert()的定義為空。

C語言 assert巨集的用法

assert巨集的原型定義在中,其作用是如果它的條件返回錯誤,則終止程式執行,原型定義 include void assert int expression assert的作用是現計算表示式 expression 如果其值為假 即為0 那麼它先向stderr列印一條出錯資訊,然後通過呼叫 abort...

C語言ASSERT巨集

一 assert函式的目的 斷言可以對在系統中隱藏很深,用其它手段極難發現的問題進行定位,並且輸出資訊很詳細,可以很好地解決大多數c語言編譯器錯誤資訊輸出不詳細的問題 二 assert巨集的原型,assert在 定義的 c語言中,assert斷言的原型定義在檔案中。assert是乙個巨集定義,並不是...

C語言 巨集 assert()

編寫 時,我們總是會做出一些假設,斷言 assert 就是用於在 中捕捉這些假設,可以將斷言看作是異常處理的一種高階形式。斷言表示為一些布林表示式,程式設計師相信在程式中的某個特定點該表示式值為真。可以在任何時候啟用和禁用斷言驗證,因此可以在測試時啟用斷言,而在部署時禁用斷言。同樣,程式投入執行後,...