¿Diferencia entre "int main ()" y "int main (void)" en C / C ++?
¿Diferencia entre "int main ()" y "int main (void)" en C / C ++?
y
¿Cuál es la diferencia?
En C ++, no hay diferencia, ambos son iguales.
Ambas definiciones también funcionan en C, pero la segunda definición con void se considera técnicamente mejor, ya que especifica claramente que main solo se puede llamar sin ningún parámetro.
En C, si la firma de una función no especifica ningún argumento, significa que la función se puede llamar con cualquier número de parámetros o sin ningún parámetro. Por ejemplo, intente compilar y ejecutar los siguientes dos programas en C (recuerde guardar sus archivos como .c). Tenga en cuenta la diferencia entre dos firmas de diversión ().
En C, si la firma de una función no especifica ningún argumento, significa que la función se puede llamar con cualquier número de parámetros o sin ningún parámetro. Por ejemplo, intente compilar y ejecutar los siguientes dos programas en C (recuerde guardar sus archivos como .c). Tenga en cuenta la diferencia entre dos firmas de diversión ().
El programa anterior se compila y funciona bien (link ), pero el siguiente programa falla en la compilación (link )
A diferencia de C, en C ++, los dos programas anteriores fallan en la compilación. En C ++, tanto fun () como fun (void) son iguales.
Entonces, la diferencia es que, en C, int main () se puede llamar con cualquier número de argumentos, pero int main (void) solo se puede llamar sin ningún argumento. Aunque no hace ninguna diferencia la mayoría de las veces, el uso de "int main (void)" es una práctica recomendada en C.
Ejercicio:
predice la salida de los siguientes programas en C.
predice la salida de los siguientes programas en C.
Pregunta 1
Pregunta 2
No hay comentarios.