Go to the first, previous, next, last section, table of contents.


assert

Syntax

#define NDEBUG
#include <assert.h>

assert(expression);
assertval(expression);

Description

These macros are used to assist in debugging. The source code includes references to assert and assertval, passing them expressions that should be true (or non-zero). When the expression equals zero, a diagnostic message is printed to stderr and the program aborts.

If you define the macro NDEBUG before including `assert.h', then the macros expand to nothing to reduce code size after debugging is done.

Return Value

assert returns one if it passes, else it aborts.

assertval returns the value of the expression if nonzero, else it aborts.

Portability

ANSI, POSIX

Example

int strdup(char *s)
{
  assert(s != 0);


Go to the first, previous, next, last section, table of contents.