Wenn bool ein Makro für int ist, warum hat es eine andere Größe?

Ich hatte gehofft, jemand könnte erklären, warum

#include <stdbool.h>

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

Ausgänge zu

size of bool 1
size of int 4

Ich habe angeschauthttp://pubs.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html was darauf hinzudeuten scheint, dass bool im Wesentlichen ein Makro für _Bool ist, das, wenn es auf true oder false gesetzt ist, eigentlich nur ein Makro für eine Ganzzahlkonstante ist. Wenn es eine ganze Zahl ist, warum ist sie nicht gleich groß?

Ich frage, weil wir viel zu lange gebraucht haben, um ein Programm zu debuggen, für das wir nicht genügend Speicher reserviert haben.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage