The scope of a preprocessor name is determined by where it is declared:
- The scope of a name declared within a preprocessor procedure is that procedure.
- The scope of a name declared within an included string is that included string and all input text scanned after that string is included (except any preprocessor procedure in which the name is also declared).
- The scope of any other name is the entire preprocessor input (except any preprocessor procedure in which the name is also declared).