assert.h - verify program assertion
[CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of POSIX.1-2017 defers to the ISO C standard.
The <assert.h> header shall define the assert() macro. It refers to the macro NDEBUG which is not defined in the header. If NDEBUG is defined as a macro name before the inclusion of this header, the assert() macro shall be defined simply as:#define assert(ignore)((void) 0)
Otherwise, the macro behaves as described in assert().
The assert() macro shall be redefined according to the current state of NDEBUG each time <assert.h> is included.
The assert() macro shall be implemented as a macro, not as a function. If the macro definition is suppressed in order to access an actual function, the behavior is undefined.
First released in Issue 1. Derived from Issue 1 of the SVID.
The definition of the assert() macro is changed for alignment with the ISO/IEC 9899:1999 standard.
return to top of page