#include <stdio.h>
#include <stdbool.h>
int main()
{
bool a[5]={0,1,0,0,0};
a[1]=3;
printf("\n bool is %d",a[1]);
printf("\n sizeof bool is %d and size of a is %d",sizeof(bool),sizeof(a));
bool b[10];
printf("\n bool is %d",b[1]);
}
вывод этой программы
bool is 1
sizeof bool is 1 and size of a is 5
bool is 4
Вопрос:
1> bool store 1 бит, тогда почему sizeof (bool) равен 1 байту?
2> если bool имеет 1 байт, то когда я присваиваю [1] = 3, тогда почему он выводит 1?
3>, если bool учитывает только 1 & oзначение для хранения, почему b [1] печатает значение 3?