Jeśli bool jest makro dla int, dlaczego jest to inny rozmiar?

Miałem nadzieję, że ktoś wyjaśni dlaczego

#include <stdbool.h>

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

wyjścia do

size of bool 1
size of int 4

Obejrzałemhttp://pubs.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html co wydaje się wskazywać, że bool jest zasadniczo makro dla _Bool, które po ustawieniu na true lub false, jest tak naprawdę tylko makro dla stałej liczby całkowitej. Jeśli jest to liczba całkowita, dlaczego nie ma tego samego rozmiaru?

Pytam, ponieważ zbyt długo zajęło nam debugowanie programu, dla którego nie przydzieliliśmy wystarczającej ilości pamięci.

questionAnswers(6)

yourAnswerToTheQuestion