¿Diferencia entre los tipos_Bool y bool en C?



(2)

Estos tipos de datos fueron agregados en C99. Como bool no estaba reservado antes de C99, usan la palabra clave _Bool (que estaba reservada).

bool es un alias para _Bool si incluye stdbool.h . Básicamente, incluir el encabezado stdbool.h es una indicación de que su código está bien con el identificador bool como 'reservado', es decir, que su código no lo usará para sus propios fines (de manera similar para los identificadores true y false ).

¿Puede alguien explicarme cuál es la diferencia entre _Bool y el tipo de datos bool en C? Por ejemplo

 _Bool x = 1;
  bool y = true;

  printf("%d", x);
  printf("%d", y);

Answer #1

No hay diferencia.

bool es una macro que se expande a _Bool en stdbool.h .

Y true es una macro que se expande a 1 en stdbool.h





c