SINOPSIS
#include <assert.h>
void assert (int expression);
DESCRIPCIÓN
Si la macro NDEBUG estaba definida en el momento en que <assert.h> fue incluido por última vez, la macro assert() no genera ningún código, y por tanto no hace nada. En caso contrario, la macro assert() imprime un mensaje de error a la salida estándar y termina el programa llamando a abort() si expression es falsa (es decir, es igual a cero). Esto sólo sucede cuando la macro NDEBUG está sin definir.El propósito de esta macro es ayudar al programador a encontrar fallos en su programa. El mensaje "aserto fallido en el fichero foo.c, función do_bar(), línea 1287" no es de ayuda en absoluto para un usuario.