#include <assert.h>
This header file defines a debugging aid.
As there is no standard error output stream available for many applications using this library, the generation of a printable error message is not enabled by default. These messages will only be generated if the application defines the macro
__ASSERT_USE_STDERR
before including the <assert.h>
header file. By default, only abort() will be called to halt the application.
If expression is true, the assert() macro does nothing.
The assert() macro may be removed at compile time by defining NDEBUG as a macro (e.g., by using the compiler option -DNDEBUG).