ASSERT(3) | Library Functions Manual | ASSERT(3)

# NAME

`assert` — expression verification macro

# SYNOPSIS

`#include <assert.h>`

`assert`(expression);

# DESCRIPTION

The `assert`() macro tests the given expression and if it is false, the calling process is terminated. A diagnostic message is written to `stderr` and the abort(3) function is called, effectively terminating the program.

If expression is true, the `assert`() macro does nothing.

The `assert`() macro may be removed at compile time with the cc(1) option `-DNDEBUG`.

# DIAGNOSTICS

The following diagnostic message is written to `stderr` if expression is false:

    "assertion \"%s\" failed: file \"%s\", line %d\n", \
    		    "expression", __FILE__, __LINE__);

# SEE ALSO

cc(1), abort(3)

# STANDARDS

The `assert`() macro conforms to ANSI X3.159-1989 (“ANSI C89”).

# HISTORY

An `assert`() macro first appeared in Version 7 AT&T UNIX.

December 10, 2014 | Debian