assert

提供: RAD Studio
移動先: 案内検索

Assert.h:インデックス への移動


ヘッダー ファイル

assert.h

プロトタイプ

void assert(int test);

説明

条件をテストし、場合により実行を中心します。

assert はマクロで、if 文に展開されます。テストが 0 に評価された場合、assert マクロは _assert 関数を呼び出し、

void _RTLENTRY _EXPFUNC _assert(char * __cond, char * __file, int __line);

プログラムを中止します。_assert 関数は abort を呼び出し、stderr 上の次のメッセージを示します:

Assertion failed: test, file filename, line linenum

メッセージに表記されるファイル名および行番号は、assert マクロが現れたソース ファイル名および行番号です。

  1. define NDEBUG 指令("デバッグなし")をソース コードの #include <assert.h> 指令の前に配置した場合、マクロは no-op に展開され、それにより、assert 文はコメントアウトされます。

戻り値

[未指定]。

移植性

POSIX ANSI C ANSI C++ Win32 Win64 macOS
assert + + + +

例:

#include <assert.h>
#include <stdio.h>
#include <stdlib.h>

struct ITEM {
    int key;
    int value;
};

/* add item to list, make sure list is not  null */
void additem(struct ITEM *itemptr) {
    assert(itemptr != NULL);
    /* add item to list */
}

int main(void) {
    additem(NULL);
    return 0;
}