main (C)

En C (y C++) Cuando se llama a un programa se está llamando a una función principal llamada "main" que es la que va a iniciar la ejecución y cuando esta termine devolverá el contol otra vez al sistema operativo.

Es una función estandarizada para lanzar programas

  1. no se puede sobrecargar
  2. no se puede declarar como inline(esto es una propiedad de C++ y roza la estupidez en este caso ) o static (esto también es estúpido ya que main es la función que está en el fichero principal al que se llama, tiene que estar y en el fichero de entrada)
  3. no se puede pedir su dirección

La función main tiene dos modos de escribirse , esta es la forma completa y la otra es sin parámetros.

La función main es una función que devuelve un entero pero tambien puede ser una función tipo void con lo cual no haría falta la sentencia return 0;.
En este caso da igual porque estamos iniciando el programa pero el valor return suele se 0 si todo ha funcionado correctamente y otro valor se asocia a algún error cometido. esto es muy práctico cuando se realiza trabajo en equipo y un segundo no tiene por que conocer nada de como funciona el programa que tu has hecho y el utiliza.

Los dos parámetros que recibe son un entero, int que cuenta el número de parámetros que recibe. y un vector de cadenas de caracteres donde se almacenan cada uno de los parámetros recibidos.

Estos dos parámetros pueden llevar otro nombre, pero ¿que necesidad?

argc es un entero mayor o igual que 1.

  1. argv[0] es el nombre del programa
  2. argv[1] es el primer parámetro
  3. argv[2] es el segundo parámetro
  4. ....
  5. argv[argc] es el último parámetro y vale NULL

Puede haber un 3º parámetro donde se recibe información sobre el entorno.