| 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, consisting of the text of the expression, the name of the source file, the line number and the enclosing function, 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, function \"%s\"\n", \ 
		    "expression", __FILE__, __LINE__, __func__);
 
STANDARDS
 The assert() macro conforms to ISO/IEC 9899:1999 (“ISO C99”).
HISTORY
 A 
assert macro appeared in Version 6 AT&T UNIX.
Information on the name of the enclosing function appeared in ISO/IEC 9899:1999 (“ISO C99”).