• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Ziwdon

"main()" vs "int main()" ?

6 mensagens neste tópico

Boas

Comecei este ano a dar C na cadeira de Programação de Microprocessadores.

Já estamos perto do trabalho final e até agora, em todos os meus programas, tenho usado sempre "main()" para definir a função principal.

Contudo, tenho visto alguns tutoriais, e em praticamente todos eles se usa "int main()".

Gostava que alguem me explicasse qual a funcionalidade daquele "int" e qual a diferença porque até agora não tenho notado nenhuma.

Obrigado

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tal como em todas as funcões em C ... antes do nome da função vem o tipo de retorno.. certo ?

void f1()
int f2()
double f3()
char f4()

A diferença da primeira entre elas é que a primeira não retorna nada, a segunda retorna um inteiro, a terceira um double, a quarta um char....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pelo menos com o gcc, se não meteres o tipo de retorno na função main(), ele assume int.

O valor que retornas na função main() é devolvido à consola (return code), e é usado por exemplo para scripting (para saber se um programa acabou normalmente ou devido a um erro).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tal como em todas as funcões em C ... antes do nome da função vem o tipo de retorno.. certo ?

void f1()
int f2()
double f3()
char f4()

A diferença da primeira entre elas é que a primeira não retorna nada, a segunda retorna um inteiro, a terceira um double, a quarta um char....

sim isso eu sei...nao estava era a perceber qual a funcionalidade disso na funcao main().

Pelo menos com o gcc, se não meteres o tipo de retorno na função main(), ele assume int.

O valor que retornas na função main() é devolvido à consola (return code), e é usado por exemplo para scripting (para saber se um programa acabou normalmente ou devido a um erro).

ok. agora ja entendi.

obrigado ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na normal ANSI ele dá-te warnings, coisa que não é agradável ver na compilação ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

É uma boa prática de programação declarar o main como "int" e retornar 0 caso ele termine sem o programa termine sem problemas.

Isto pode ser útil caso tenhas programas que abram o teu programa, e eles precisam de saber se houve problemas com ele ou não.

Em última análise, o próprio sistema operativo precisa de saber isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora