Если bool является макросом для int, почему он имеет другой размер?

Я надеялся, что кто-нибудь сможет объяснить, почему

#include <stdbool.h>

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

выходы на

size of bool 1
size of int 4

Я смотрел наhttp://pubs.opengroup.org/onlinepubs/009695399/basedefs/stdbool.h.html что, по-видимому, указывает на то, что bool - это, по сути, макрос для _Bool, который при значении true или false на самом деле является просто макросом для целочисленной константы. Если это целое число, то почему оно не одинакового размера?

Я спрашиваю, потому что нам потребовалось слишком много времени для отладки программы, для которой мы не выделяли достаточно памяти.

Ответы на вопрос(6)

Ваш ответ на вопрос