void foo()
{
//implementation
}
int main()
{
//...
}
I know that function prototyping allows you to separate implementation from interface, but for small programs where that's not necessary, is there still a difference between putting the implementation after main function or implementing the function before main function?
Formatting, stylistic reasons. Logical order as well in that you want to structure things hierarchically, in that you see main being defined first, and called first. Function prototypes you can think of as a table of contents for the compiler.