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.7.3 Options for Controlling the C Dialect.
It is a common misconception that the C/C++ char types
are intended purely for ASCII character manipulation. This is not true; indeed, the C/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/C++
expressions. With the MPLAB XC-DSC C/C++ Compiler for dsPIC33C/E/F
and dsPIC30 DSC, 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.
