O tipo inteiro sem sinal bool armazena valores verdade: seus possíveis valores são 0 e 1. Converter qualquer valor diferente de zero para bool resulta em 1. Por exemplo:
bool a =0;bool b =1;bool c =4;/* Armazena o valor 1 em c. */
Diferentemente de int, bool não é uma palavra-chave. Ele é definido no arquivo de cabeçalho stdbool.h.
Na história das especificações de C, a palavra-chave _Bool foi introduzida na C99, junto com o arquivo de cabeçalho mencionado no texto. Isso significa que você pode usar uma variável do tipo _Bool e atribuir a ela os valores 0 ou 1. Alternativamente, você pode incluir o cabeçalho stdbool.h e usar bool junto a true ou false. No entanto, a partir da C23, bool é uma palavra-chave e não necessita de arquivos de cabeçalho adicionais, mas o suporte a esta especificação ainda pode ser parcial em alguns compiladores.