is just the function, like any other function. I'm pretty much sure you mean the function
is the one used for the entry point of some application. Serving as the entry point is the only thing which makes is special.
I does not prevent using it in recursion. Use it if you really want it. This will be unusual, and some say this is not the best programming style, but I would say, there is nothing too bad about it. If you can find a good use of it, of course. :-)
Please see my question in my comment to the question. Your code or pseudo-code does not show any signs of recursion. What you demonstrated is just forward declaration
which has nothing to do with recursion. So it makes me not sure if you know what is it. So, just in case: http://en.wikipedia.org/wiki/Recursion_(computer_science)