main: inicialização do programa
Uma função especial denominada main é o ponto de início da execução de todos os programas em C e C++. Se você estiver gravando o código que obedeça ao modelo de programação Unicode, você pode usar wmain, que é a versão de caractere amplo de main.
A função main não é predefinido pelo compilador. Ela deve ser fornecida no texto do programa.
A sintaxe de declaração para main é
int main();
ou, opcionalmente,
int main(int argc, char *argv[], char *envp[]);
Específico da Microsoft
A sintaxe de declaração para wmain é a seguinte:
int wmain( );
ou, opcionalmente,
int wmain(int argc, wchar_t *argv[], wchar_t *envp[]);
Você também pode usar _tmain, que é definido em TCHAR.h. _tmain resolve a main a menos que o _UNICODE esteja definido. Nesse caso, _tmain resolve a wmain.
Como alternativa, as funções main e wmain podem ser declaradas como retornando void (nenhum valor de retorno). Se você declarar main ou wmain como retornando void, você não pode retornar um código de saída para o processo pai ou sistema operacional usando uma instrução de return. Para retornar um código de saída quando main ou wmain são declarados como void, você deve usar a função exit.
FIM de Específico da Microsoft
Os tipos para argc e argv são definidos pela linguagem. Os nomes argc, argv e envp são tradicionais, mas não são necessários pelo compilador. Para obter mais informações e um exemplo, consulte Definições de argumento.