¿Cuál es el tipo de datos booleanos C99 y cómo se usa?
Respuestas:
Incluir <stdbool.h>
encabezado
#include <stdbool.h>
int main(void){
bool b = false;
}
Macros true
y false
se expanden para 1
y 0
respectivamente.
Sección 7.16
Tipo y valores booleanos< stdbool.h >
- 1 El encabezado
<stdbool.h>
de fi ne cuatro macros.- 2 La macro
- bool se expande a _Bool.
- 3 Las tres macros restantes son adecuadas para su uso en directivas de preprocesamiento #if. Son
- verdadero: que se expande a la constante entera 1,
- falso: que se expande a la constante entera 0, y
- __bool_true_false_are_defined que se expande a la constante entera 1.
- 4 No obstante las disposiciones de 7.1.3, un programa puede indefinir y quizás luego redefinir las macros bool, true y false.
Consulte la respuesta aquí en este hilo relacionado que se encuentra en DaniWeb .
extraído y citado aquí para una referencia conveniente: -
_Bool : tipo booleano de C99. Solo se recomienda usar _Bool directamente si mantiene un código heredado que ya define macros para bool, true o false. De lo contrario, esas macros están estandarizadas en el
<stdbool.h>
encabezado. Incluya ese encabezado y podrá usar bool como lo haría en C ++.
#include <stdio.h>
#include <stdbool.h>
int main ( void )
{
bool b = true;
if ( b )
printf ( "Yes\n" );
else
printf ( "No\n" );
return 0;
}
_Bool
existe junto con bool
. Muy útil para entenderlo.
_Bool
(por asignación, conversión , etc.) se realiza efectivamente anteponiendo la expresión con!!
.