#-lines are processed lexically with regard only to line numbers, and you can use them anywhere it makes sense to do so.
So the following is perfectly fine:
void test(int *variable) // rename variable to anything you like, it has no effect
#define one variable
#define two variable
The function test() does absolutely nothing and you don't need to call it to set "one" and "two". The above should print 5 (haven't done a run test).
The thing to remember about #defines is that they define symbols within the file from the line where they are defined to (a) the end of the file or (b) the line where they are #undef'd.