assert.h is a header file in the standard library of the C programming language that defines the C preprocessor macro assert(). The macro implements an assertion, which can be used to verify assumptions made by the program.
The assert() macro inserts diagnostics into programs. When executed, if the expression is false (that is, compares equal to 0), assert() writes information about the call that failed on stderr and then calls abort(). The information it writes to stderr includes:
Programmers can eliminate the testing code produced by the macro assert without removing the macro references from the program by defining the macro NDEBUG in the program before including and therefore has no effect on the program. The assert() macro is implemented as a macro, not as a function. If the macro definition is suppressed in order to access an actual function, the behaviour is undefined.
#define assert(ignore)((void) 0)