elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda con main()
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con main()  (Leído 2,031 veces)
GROV

Desconectado Desconectado

Mensajes: 23



Ver Perfil WWW
Duda con main()
« en: 8 Abril 2012, 01:53 am »

Que tal a todos, bueno verán he tenido una gran duda desde que me inicie a programar en C, y es acerca de la función main(), verán me he encontrado en diferentes libros varias maneras diferentes de escribir la función main(), y realmente estoy algo confundido de cual es la manera correcta de escribirla.

La más básica que me he topado es:

Código:
main()
{
     /* Aquí va el código */
}

donde el main() va solito.

Otra es:

Código:
void main(void)
{
    /* Aquí va el código */
}

La que yo utilizo es la siguiente:

Código:
int main(void)
{
    /* Aquí va el código */
}
Esta es la que uso ya que es la que me dijo mi profesor de programación, que como main es una función se debe especificar el tipo de dato que regresa, y al poner el void como parámetro, quiere decir que no va a regresar ningún valor, por eso se puede omitir el return 0;

Y buscando código por internet me encontrado con:

Código:
main ()
{
    /* Aquí va el código */
}

Código:
int main()
{
    /* Aquí va el código */

    return 0;
}

Y hay más variantes todavía, pero me gustaría saber cual es realmente la manera correcta de escribir la función, cuando se utiliza el return 0;, cuando se pone como parámetro el void, cuando no, y esas cosas.

Saludos afectuosos!!



En línea

"Ningún problema debe de resolverse dos veces"
Beakman

Desconectado Desconectado

Mensajes: 190



Ver Perfil WWW
Re: Duda con main()
« Respuesta #1 en: 8 Abril 2012, 02:01 am »

Depende del compilador que estés usando. Igual la forma correcta siempre termina siendo:
Código
  1. int main( int argc, char **argv ){
  2.     // código
  3.     return 0;
  4. }

Porque es bueno tener un control del programa que se está desarrollando. Es decir, un programa que no retorne ningún valor es un programa que no puede decirme si las cosas terminaron bien o mal.
Y el uso de parámetros me da la posibilidad de llamar a dicho programa pasándole valores.
Código:
./calculadora valor1 valor2 valor3
En este caso:
- argc = 4
- argv = un vector con el nombre del programa( en este caso "calculadora" ) y los valores que le pasé.

Es muchísimo más completo un programa de esta forma, y siempre debería recibir y retornar valores.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Sub Main()
Programación Visual Basic
katanaia 5 3,006 Último mensaje 14 Agosto 2008, 04:47 am
por katanaia
Ejercutar main desde otro main. « 1 2 »
Programación C/C++
arcanu 10 7,014 Último mensaje 10 Septiembre 2010, 20:13 pm
por arcanu
[cagada]: gcc main.c -o main.c. posibilidad de recuperar codigo fuente??
Programación C/C++
xiruko 5 4,750 Último mensaje 3 Agosto 2012, 06:29 am
por xiruko
[Duda] Valor de retorno main
Programación C/C++
apoeti 3 3,379 Último mensaje 12 Septiembre 2012, 16:16 pm
por apoeti
Duda sobre argumentos para main
Java
reygecko 2 2,399 Último mensaje 21 Diciembre 2012, 08:21 am
por reygecko
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines