It's called 'main' by tradition; this feature lets the linker to know, where to start the execution.
The main function is where the program begins. It should have a return type, int, to check for failure or success.
The point where the execution of the program begins; and when function 'main' terminates, the program-execution terminates as well.
Into the source program.
If you mean function named 'main', then the optimal number is one in every complete program.