unsigned
char
and unsigned short
promote to
unsigned int
.)
extern
objects have file scope.
If the name of a macro being replaced is found during the rescan of the replacement list, it is macro replaced.
#
character occurs in the first column of
a line. Any preprocessor directives preceded by white space are
ignored.
#ifdef
is treated as "#if
defined
"
#ifndef
is treated as "#if
!defined
"
##
operators when a valid token results after
concatenation, except that adjoining white space is not deleted.
If the resulting token is not valid, the comment in a macro
replacement is deleted.