¿Alguien me puede explicar cuál es la diferencia entre el tipo de datos _Bool y bool en C? Por ejemploDiferencia entre los tipos _Bool y bool en C?
_Bool x = 1;
bool y = true;
printf("%d", x);
printf("%d", y);
¿Alguien me puede explicar cuál es la diferencia entre el tipo de datos _Bool y bool en C? Por ejemploDiferencia entre los tipos _Bool y bool en C?
_Bool x = 1;
bool y = true;
printf("%d", x);
printf("%d", y);
se añadieron Estos tipos de datos en C99. Como bool
no se reservó antes de C99, usan la palabra clave _Bool
(que se reservó).
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
siendo 'reservado', es decir, que su código no lo usará para sus propios fines (de manera similar para los identificadores true
y false
).
+1 para incluir el historial. – Lindydancer
La intención a largo plazo parece ser que el estándar será eventualmente revisado para hacer que bool sea una palabra clave. Este es el paso 1, donde puede usar
No entiendo por qué esto tiene que durar dos décadas dado que es una mejora bastante obvia. El código que no le gusta este cambio aún se puede compilar utilizando las versiones actuales del compilador. –
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
'bool' debe ser también un typedef, C no tiene ese tipo. –
Análoga a _Complex vs complex. –