>and that it takes up one byte of memory
You can make them smaller using bitfields in C.
You can make them smaller using bitfields in C.
sizeof(struct {bool a:1;}) == sizeof(char);If one Boolean must be a byte then 8 must be eight bytes. Which is not true. A boolean can be 1/8th of a byte which is a meaningful distinction.