Se bool é uma macro para int, por que é um tamanho diferente?

Eu estava esperando que alguém pudesse explicar porque

#include <stdbool.h>

printf("size of bool %d\n", sizeof(bool));
printf("size of int %d\n", sizeof(int));

saídas para

size of bool 1
size of int 4

Eu olhei parahttp://pubs.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html o que parece indicar que o bool é essencialmente uma macro para _Bool que, quando definida como true ou false, é na verdade apenas uma macro para uma constante inteira. Se é um inteiro, por que não é do mesmo tamanho?

Estou perguntando porque demoramos muito tempo para depurar um programa para o qual não alocamos memória suficiente.

questionAnswers(6)

yourAnswerToTheQuestion