Lenguaje C: afirmar macros (afirmar el valor de verdad de una expresión)

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

Lenguaje C: afirmar macro
(Afirmar la autenticidad de la expresión)

En el lenguaje de programación C, afirmación es una macro diseñada para ser utilizada como una función. Comprueba el valor de una expresión que esperamos que sea verdadera en circunstancias normales.

La macro de afirmación no hace nada si la expresión es un valor distinto de cero. Si la expresión es cero, la macro de afirmación escribe un mensaje en stderr y finaliza el programa llamando a abortar.

sintaxis

La sintaxis de la macro assert en lenguaje C es:

void assert(int expression);

parámetro o parámetro

Expresiones Esperamos que las expresiones sean verdaderas en circunstancias normales.

titulo requerido

En C, los archivos de encabezado requeridos por la macro de afirmación son:

#include <assert.h>

aplicar para

En C, la macro de afirmación está disponible en las siguientes versiones:

  • ANSI/ISO 9899-1990

Ejemplo de afirmación

Veamos un ejemplo para ver cómo usar la función de afirmación en un programa C:

/* Example using isxdigit by TechOnTheNet.com */

#include <stdio.h>
#include <assert.h>

int main(int argc, const char * argv[])
{
    /* Define an expression */
    int exp = 1;

    /* Display the value of exp */
    printf("Exp is %dn", exp);

    /* Assert should not exit in this case since exp is not 0  */
    assert(exp);

    /* Change expression to 0 */
    exp = 0;

    /* Display the value of exp */
    printf("Exp is %dn", exp);

    /* In this case exp is 0 so assert will display an error and exit */
    assert(exp);

    return 0;
}

Cuando se compila y ejecuta, esta aplicación generará:

Exp is 1
Exp is 0
assert: assert.c:24: main: Assertion `exp' failed.
Aborted (core dumped)

ver también

Otras funciones de C que vale la pena mencionar cuando se trata de macros de afirmación:

  • función de cancelación