assert

Sintaxis

#define NDEBUG
#include <assert.h>

assert(expresión);

Descripción

Esta macro está definida en assert.h y se usa como ayuda en la depuración. assert se emplea como un procedimiento al que se le pasa una expresión que debe ser siempre cierta. Cuando la expresión es falsa, se muestra un mensaje de error en stderr y el programa aborta.

Si se define la macro NDEBUG antes de incluir assert.h, la macro se expande a la instrucción nula eliminando la ejecución y comprobación de la condición.

Portabilidad

ANSI, POSIX

Ejemplo

El procedimiento pruebaSumaVector realiza la prueba de la función sumaVector.

#include <assert.h>
int sumaVector(int *v, int n){
   int i=0, s=0;
   for(;i<n;i++)
      s +=v[i];       
   return s;
}
void pruebaSumaVector(int *v, int n, int esperado) {
   int obtenido=sumaVector(v,n);
   assert(obtenido == esperado);
}