#define is not a statement read by the compiler as it is a preprocessor directive. This differs from declaring a global variable, which is a compiled statement. Each follows their own syntax.
I'm not certain how you took this to imply that you couldn't declare an integer before main, but as I suppose you have noticed it is certainly possible.
whatever a #define is called, someone posted don't use a ";" with #define or #defines.
and I did not believe that integers could be defined above main. i now know differently.
i did not imply nondeclaration of integers before main. i now know i can. your argument
is tiring, this is distant from the topic, and i am very tired.