sizeof(char) は必ず 1 になる事を規定している。
sizeof(char) の単位が byte であるかどうかは明言されていないが、sizeof(array)
は配列全体の byte 数を返すとあるので、よくわからない。
オクテットマシンで char が 16bit の処理系だったらどうするんだ。

CHAR_BIT の値は 「最低」 8。
signed char で少なくとも -127 〜 127 を表現できなければいけないと規定
されているので当然。

1byte の bit 数は決められていない。
8bit で扱うと便利な事が多いので、そのように動くオクテットマシンが多いが、
そうでないマシンであれば 1byte は 8bit ではない。
それを考慮して 8bit を octet、8bit byte を octet byte と呼ぶ事もある。

誰か添削して。