Contents|Index|Previous|Next

assert
[macro for debugging diagnostics]

SYNOPSIS
#include <assert.h>
void assert(int expression);

DESCRIPTION
Use this macro, assert, to embed debugging diagnostic statements in your programs. The argument, expression, should be an expression which evaluates to true (nonzero) when your program is working as you intended.

When expression evaluates to false (zero), assert calls abort, after first printing a message showing what failed and where, as in the following example.

       Assertion failed: expression, file filename, line lineno

The macro is defined to permit you to turn off all uses of assert at compile time by defining NDEBUG as a preprocessor variable. If you do this, the assert macro expands, as in the following example.

(void(0))

RETURNS
assert does not return a value.

COMPLIANCE
The assert macro is required by ANSI, as is the behavior when NDEBUG is defined.

Supporting OS subroutines required (only if enabled): close, fstat, getpid, isatty, kill, lseek, read, sbrk, write.