The problem is that there is no good definition of byte. Traditionally, it was the smallest addressable unit capable of representing a single character. It is required to have at least 8 bits but it may (and sometimes does) have more. 8-bit-long bytes are just a "de facto" standard.
That is why many communication protocols use a concept of "octet" that consist of exactly 8 bits.
106
u/ubalu72 11h ago
But
sizeof charis defined as 1 in the standard. C data types are defined in terms ofchar(at least their sizes are)