Aqui você vê as diferenças entre duas revisões dessa página.
— |
main [d/mY H:i] (atual) laureano criada |
||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ====== Função main ====== | ||
+ | |||
+ | Todo programa em C deve ter uma função chamada ''**main**''. É por esta função que será iniciada a execução do programa. Deve-se especificar o tipo da saída da função, que pode ser [[tipos_dados|int]] ou [[tipos_dados|void]]. | ||
+ | |||
+ | Caso seja colocado [[tipos_dados|int]], o valor retornado pela função ''main'' estará disponível teste no sistema operacional. | ||
+ | |||
+ | Caso o retorno da função seja declarado como [[tipos_dados|void]], nada será retornado ao sistema operacional. Alguns compiladores podem exigir que o retorno da função ''main'' seja declarado como [[tipos_dados|int]]. | ||
+ | |||
+ | Veja o exemplo: | ||
+ | |||
+ | <code c> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | void main () | ||
+ | { | ||
+ | printf("\nAlo mundo!!!"); | ||
+ | return. | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | OU | ||
+ | |||
+ | <code c> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | printf("\nAlo mundo!!!"); | ||
+ | return 0; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | OU | ||
+ | |||
+ | <code c> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int main(void) | ||
+ | { | ||
+ | printf("\nAlo mundo!!!"); | ||
+ | return 0; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | ===== O que main devolve ===== | ||
+ | |||
+ | De acordo com o padrão ANSI, a função ''main'' devolve um inteiro para o processo chamador (geralmente o sistema operacional). Devolver um valor em ''main'' é equivalente a chamar a função [[exit]] com o mesmo valor. Se ''main'' não devolve explicitamente um valor, o valor passado para o processo chamador é tecnicamente indefinido. Na prática, a maioria dos compiladores C devolvem 0 (zero). | ||
+ | |||
+ | Também é possível declarar ''main'' como [[tipos_dados|void]] se ela não devolve um valor. Alguns compiladores geram uma mensagem de advertência (//warning//), se a função não é declarada como [[tipos_dados|void]] e também não devolve um valor. | ||
+ | |||
+ | |||
+ | --- //[[marcos@laureano.eti.br|Marcos Laureano]] 2009/05/08 10:40// | ||