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.