Dúvida besta !!!!!!!! [RESOLVIDO]

1. Dúvida besta !!!!!!!! [RESOLVIDO]

Pedro Rafael
Pedro Rafael

(usa Fedora)

Enviado em 18/05/2008 - 11:36h

Porque muitos programas em C começa com:
void main(void)

e não simplesmente main() ???


valeu



  


2. MELHOR RESPOSTA

Fabio Maran
maran

(usa Debian)

Enviado em 18/05/2008 - 22:53h

Vc está falando da função main????

Um programa em C deve conter a função main.
pq??

pq a função main é a principal pois a execução de um programa começa sempre por ela.
a função mais é automaticamente chamada quando o programa é carregado.
As outras funções auxiliares são chamdas direta ou indiretamente a partir da função principal.

Veja um exemplo vai lá digamos que eu esteja fazendo um programa para converter temperaturas.

/*Conversão de temperaturas */

# include <stdio.h>

/*Função auxiliar */
float converte (float c)
{
float f;
f = 1.8*c + 32;
return f;
}

/* Função Principal */
int main (void)
{
....
...

...

é nesta função que acontece a mágica

xD

3. Re: Dúvida besta !!!!!!!! [RESOLVIDO]

Sancler Santana Camargos
sancler

(usa Ubuntu)

Enviado em 18/05/2008 - 11:47h

por que
void é relativo a "nada" "vazio".

entao main() é a mesma coisa de main(void), ou seja retornar nada.

espero ter ajudado.


4. Re: Dúvida besta !!!!!!!! [RESOLVIDO]

Pedro Rafael
Pedro Rafael

(usa Fedora)

Enviado em 18/05/2008 - 11:57h

ajudou sim e eu estava lendo que void serve pra fazer apontadores genéricos, essa deve ser a função primordial dele


valeu


5. Re: Dúvida besta !!!!!!!! [RESOLVIDO]

willian
tekmania

(usa Ubuntu)

Enviado em 18/05/2008 - 12:06h

Pedro Rafael quem tem duvida mostra que sabe alguma coisa


6. Re: Dúvida besta !!!!!!!! [RESOLVIDO]

Marcelo Utikawa da Fonseca
utikawa

(usa Ubuntu)

Enviado em 18/05/2008 - 17:24h

Realmente void é o mesmo que nada mas é bom colocar o void para ficar mais claro.
Quanto ao main retornar void é incorreto. Devemos sempre utilizar int. Alguns compiladores exibirão erro e outros apenas um warning, alterando para o tipo int.


7. função

Jeffeson Luiz Oliveira de Campos
foguinho.peruca

(usa Ubuntu)

Enviado em 18/05/2008 - 18:03h

Olah!!

Bom, main, em C, eh uma função como outra qualquer. Ela é especial pois ela é a primeira função chamada para acionar as demais...
Assim como qualquer função, ela deve retornar um valor (ela eh uma função e naum uma rotina)... por isso ela retornar o void...

Voi no caso eh vazio e eu particularmente uso o tipo de retorno como int pois o void não faz nehum sentido para o SO quando ele recebe o controle de novo. Normalmente na ultima linha antes de fechar a "}" uso um "return 0;"

Mas eh issu
[]'s
Jeff


8. Re: Dúvida besta !!!!!!!! [RESOLVIDO]

Fagner Amaral de Souza Candido
f_Candido

(usa Ubuntu)

Enviado em 18/05/2008 - 21:45h

Opa, atenção : void não é o mesmo que nada! void é um tipo sem retorno, logo é diferente de nada. Atenção...


Abraços


9. Re: Dúvida besta !!!!!!!! [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 19/05/2008 - 00:12h

concordo com maram

e nada é alguma coisa...


10. Re: Dúvida besta !!!!!!!! [RESOLVIDO]

Pedro Rafael
Pedro Rafael

(usa Fedora)

Enviado em 19/05/2008 - 09:05h

Obrigado aí pessoal ...valeu mesmo...


11. Já disseram, mas...

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 19/05/2008 - 09:18h

Já disseram, mas convém reforçar.

void main é incorreto. Trata-se de um artifício usado para escapar dos avisos de "função não retornou valor".

A função main é int e mesmo que se coloque void o compilador (alguns!!!) irão compilar como int.

O fato é que o main retorna para o Sistema Operacional (normalmente. Pode retornar para outro programa no caso do uso de system por exemplo) e como tal PRECISA retornar o seu status de erro (SEMPRE!!).

Se retornar 0 - return(0) - significa SUCESSO. Executou SEM ERRROS.

Se retornar diferente de zero está retornando um código de erro que poderá ser tratado devidamente pelo Sistema Operacional (até no DOS tu consegue pegar isto em um CMD com if ERRORLEVEL, se não me engano).

Logo, o main RETORNA int e deve ser definido como int main.

Só que se tu define como int main precisa colocar um return para que o compilador não te diga que faltou retornar.

Principalmente quando se está aprendendo, pode ser inconveniente explicar para o aluno porque tem que usar o return, principalmente se for o primeiro programa da vida dele. Por isto alguns até usam a tática de usar void no aprendizado até que o aluno evolua a fim de poder, futuramente, compreender que deve ser int e não void. Alguns livros até ensinam void o que, dependendo do contexto, até pode ser aceitável (eu não gosto).

[]'s






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts