Ir ao conteúdo

Posts recomendados

Postado

Ola pessoal essa é uma duvida quq tempos me tormenta.

Entendo que int main precisa retornar um valor, void main nao. Mas e int main(void) para que serve?

eu preciso botar o return 0; nessa int main(void) tb? quais seriam as aplicacoes dessas 3 funcoes na pratica?

  • Curtir 1
Postado

void main() é um erro...

 

A função main deve ser do tipo int, e nela é retornado 0 para indicar para o sistema que o programa foi encerrado corretamente, sem erros ou interrupção inesperada, ou então retorna um valor diferente de 0 para indicar que algo anômalo ocorreu durante a execução do programa.

 

 

No C++ não há diferença entre int main() e int main(void), em ambos os casos está explícito que a função não recebe nenhum parâmetro.

 

 

Mas em C quando não é indicado nenhum parâmetro no protótipo da função significa que ela pode ser chamada com qualquer quantidade de parâmetros ou sem nenhum parâmetro, então se tiver uma função como:

void func(){ }

Poderia chamá-la passando quaisquer parâmetros:

func(1, "abc", 2.5);

Ou sem nenhum parâmetro:

func();

 

 

Mas especificando void como o único tipo do parâmetro da função, só é possível chamar a função sem passar nenhum parâmetro:

void func(void){}

//só podemos chamar essa função assim:

func();

Logo, é considerado mais tecnicamente correto sempre colocar void quando a função não recebe parâmetros.

 

 

Portanto em C a diferença é que int main() pode ser chamado com qualquer quantidade de parâmetros, enquanto int main(void) só pode ser chamado sem parâmetros.

 

Sempre usar int main(void) é a pratica recomendada quando não usar parâmetros na função main.

 

 

Obs: É usado main com parâmetros quando deseja-se pode passar argumentos durante a chamada do executável do seu programa, tipicamente o protótipo usado é:

int main(int argc, char *argv[])

Onde, argc indica a quantidade de argumentos recebidos, e argv é um vetor de strings contendo cada argumento, sendo argv[0] o próprio nome do arquivo executável do programa. Pesquise na internet para entender mais sobre isto.

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...