9.2.2 char Types
The compiler supports data types for char, which defaults
to signed char. An option can be used to use unsigned
char as the default, see 6.6.3 Options for Controlling the C Dialect.
It is a common misconception that the C char types are
intended purely for ASCII character manipulation. This is not true; indeed, the C language
makes no guarantee that the default character representation is even ASCII (however, this
implementation does use ASCII as the character representation). The char
types are simply the smallest of the multi-bit integer sizes and behave in all respects
like integers. The reason for the name “char” is historical and does not mean that
char can only be used to represent characters. It is possible to freely
mix char values with values of other types in C expressions. With the MPLAB XC-DSC C Compiler, the char types will
commonly be used for a number of purposes: as 8-bit integers, as storage for ASCII
characters and for access to I/O locations.
