为什么Bool数据类型占一个字节?

bool只有1和0区分,用一个位(bit)储存不就好了吗?我是一个初心者,有很多地方不明白

你的理解是没问题的,用位也可以达到目的,在前期内存较小的时候,位运算很受重视。但是因为一般高级编程语言默认最小单位是一个字节,而且现在内存资源也没有以前那么紧缺,位一般在机器语言中用的比较多,所以基本上就是用一个字节或者一个int来表示bool型。在C语言中,是没有bool类型的,是用int来表示的。

你的理解没什么问题,但数据类型存储都是以字节为单位。

8bit=1byte,既然C语言规定了最小单位是字节,那不管数据再小都会有1字节的空间大小

不止是0和1,0表示假,非0表示真,也就是不是0的数字都可以表示真。