O'Reilly logo
  • Robert Seacord thinks this is interesting:

Character Types

The three types char, signed char, and unsigned char are collectively called the character types. Compilers have the latitude to define char to have the same range, representation, and behavior as either signed char or unsigned char. Regardless of the choice made, char is a distinct type.

Although not stated in one place, the C Standard follows a consistent philosophy for choosing character types:

signed char and unsigned char


Cover of Secure Coding in C and C++, Second Edition


The C Standards Committee developed an underlying philosophy for the use of character types in the C Programming Language, but unfortunately did not document it anywhere. This section comes under the category of “better late than never”.