Assertions help programmers to test conditions and abort the programs. Mainly used when the code cannot execute further if the condition is not met.
The syntax of assert is
void assert(scalar expression);
Need to include the following header which defined the
Assert prints the error message to standard error
and terminates the program by calling abort(3).
assert( val == 0)
prog: some_file.c:16: some_func: Assertion `val == 0' failed.
Assertions can be turned off by defining NDEBUG macro. Adding NDEBUG will cause assert not to generate any code to print error and abort.
Recommendation is to not use the NDEBUG macro if using assert to detect error conditions as software may behave non-deterministically.