Если 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 на самом деле является просто макросом для целочисленной константы. Если это целое число, то почему оно не одинакового размера?
Я спрашиваю, потому что нам потребовалось слишком много времени для отладки программы, для которой мы не выделяли достаточно памяти.