In C++, main() cannot be called recursively and cannot have its address taken. ISO/ANSI C allows recursive calls and allows pointers to hold the address of main().