Respostas:
Incluir <stdbool.h>cabeçalho
#include <stdbool.h>
int main(void){
bool b = false;
}
Macros truee falseexpandem para 1e 0respectivamente.
Tipo e valores booleanos da seção7.16 < stdbool.h >
- 1 O cabeçalho
<stdbool.h>define quatro macros.- 2 A macro
- bool se expande para _Bool.
- 3 As três macros restantes são adequadas para uso nas diretivas de pré-processamento #if. Eles são
- verdadeiro: que se expande para a constante inteira 1,
- falso: que se expande para a constante inteira 0, e
- __bool_true_false_are_defined que se expande para a constante inteira 1.
- 4 Não obstante as provisões de 7.1.3, um programa pode indefinir e talvez então redefinir as macros bool, true e false.
Por favor, verifique a resposta aqui neste tópico relacionado encontrado no DaniWeb .
extraído e citado aqui para referência conveniente: -
_Bool : tipo booleano do C99. Usar _Bool diretamente só é recomendado se você estiver mantendo um código legado que já define macros para bool, true ou false. Caso contrário, essas macros são padronizadas no
<stdbool.h>cabeçalho. Inclua esse cabeçalho e você poderá usar bool como faria em C ++.
#include <stdio.h>
#include <stdbool.h>
int main ( void )
{
bool b = true;
if ( b )
printf ( "Yes\n" );
else
printf ( "No\n" );
return 0;
}
_Boolexiste junto com bool. Muito útil para entender isso.
_Bool(por atribuição, conversão , etc.) é efetivamente prefixada à expressão com!!.