Partilhar via


main Execução de funções e programas

Cada programa C tem uma função primária que deve ser nomeada main. A main função serve como ponto de partida para a execução do programa. Ele geralmente controla a execução do programa, direcionando as chamadas para outras funções no programa.

Várias restrições se aplicam à main função que não se aplicam a nenhuma outra função C. A main função:

  • Não pode ser declarado como inline.
  • Não pode ser declarado como static.
  • Não é possível ter seu endereço tomado.
  • Não pode ser chamado a partir do seu programa.

A main assinatura da função

A main função não tem uma declaração, porque está incorporada na linguagem. Se isso acontecesse, a sintaxe da declaração para main ficaria assim:

int main( void );
int main( int argc, char *argv[ ] );
int main( int argc, char *argv[ ], char *envp[ ] );

A main função é declarada implicitamente usando uma dessas assinaturas. Você pode usar qualquer uma dessas assinaturas ao definir sua main função. O compilador da Microsoft também permite main ter um tipo de retorno de quando nenhum valor é retornado void . Os argv parâmetros e envp a wmain também podem ser definidos como tipo char**. Para obter mais informações sobre os argumentos, consulte Descrição do argumento.

Observações

As funções dentro do programa de origem executam uma ou mais tarefas específicas. A main função pode chamar essas funções para executar suas respetivas tarefas. Quando main chama outra função, ele passa o controle de execução para a função, de modo que a execução começa na primeira instrução na função. Uma função retorna o controle para main quando uma return instrução é executada ou quando o final da função é atingido.

Você pode declarar qualquer função, incluindo main, para ter parâmetros. O termo "parâmetro" ou "parâmetro formal" refere-se ao identificador que recebe um valor passado para uma função. Consulte Parâmetros para obter informações sobre como passar argumentos para parâmetros. Quando uma função chama outra, a função chamada recebe valores para seus parâmetros da função chamadora. Esses valores são chamados de argumentos. Você pode declarar parâmetros formais para main que ele possa receber argumentos da linha de comando usando o formato mostrado na assinatura da função.

Quando você deseja passar informações para a main função, os parâmetros são tradicionalmente nomeados argc e argv, embora o compilador C não exija esses nomes. Tradicionalmente, se um terceiro parâmetro é passado para main, esse parâmetro é chamado envp. Os tipos para argc, argv, e envp são definidos pela linguagem C. Você também pode declarar argv como char** argv e envp como char** envp. Exemplos mais adiante nesta seção mostram como usar esses três parâmetros para acessar argumentos de linha de comando. As seções a seguir explicam esses parâmetros.

Se o seu código aderir ao modelo de programação Unicode, você poderá usar a versão de caracteres largos específica da Microsoft do , wmain, como ponto de mainentrada do seu programa. Para obter mais informações sobre essa versão de caracteres largos do main, consulte Usando wmaino .

main Rescisão

Um programa geralmente para de ser executado quando retorna ou chega ao final do main, embora possa terminar em outros pontos do programa por vários motivos. Por exemplo, você pode querer forçar o encerramento do seu programa quando alguma condição de erro é detetada. Para fazer isso, você pode usar a exit função. Para obter mais informações exit e um exemplo de uso, consulte exit.

Ver também

main argumentos de função e linha de comando (C++)
Analisando argumentos de linha de comando C