Diferencia entre revisiones de «Programación en C/Primer programa en C»

Contenido eliminado Contenido añadido
Dessaya (discusión | contribs.)
Dessaya (discusión | contribs.)
Línea 73:
Luego de esta sentencia, termina el programa. En el caso de la instrucción <code>return</code> dentro de la función <code>main</code>, el resultado es que se '''finaliza el programa''', comunicándole al '''sistema operativo''' que el '''valor de retorno''' (un código numérico que el sistema utiliza para saber si el programa ha funcionado bien o ha dado fallos) es 0, es decir, correcto.
 
EstasLas dos últimas sentencias se encuentran encerradas entre llaves. De esta manera, forman un '''bloque''', es decir, un grupo de sentencias que se ejecutarán siempre de correlativa.
 
¿Y qué es esa línea que precede (en realidad, que da nombre) al bloque?
¿Y qué es esa línea que precede (en realidad, que da nombre) al bloque? Pues es la definición de una función, la función <code>main</code>. En C (y en mucha de la programación estructurada), todo se hace a base de funciones, como la arriba comentada <code>printf</code>. La función <code>main</code> es especial, porque es la que contiene el programa completo. Es decir, cuando el ordenador va a ejecutar el programa, comienza a hacerlo por el principio de la función <code>main</code>, y cuando ésta acaba, el programa también.
 
La línea:
 
<source lang=c>
int main (int argc, char **argv)
</source>
 
Pues es la definición de una '''función''', en este caso llamada <code>main</code>. En C (y en general en todos los lenguajes de programación estructurada) todo se hace a base de funciones, como <code>main</code> y <code>printf</code>.
indica al compilador que la función que viene a continuación, entre llaves, se llama <code>main</code>, cuyos argumentos son <code>int argc</code> y <code>char **argv</code>, que representan a la cantidad de argumentos ingresados al ejecutar el programa y a los valores de estos argumentos respectivamente, y da como resultado un número entero (<code>int</code>), que es el <code>0</code> de la instrucción <code>return</code>. Es importante señalar que el estándar dice que <code>main</code> deberá definirse como función que retorna un entero, o de lo contrario el resultado queda indefinido.
 
La función <code>main</code> es especial, porque es el la que se invoca cuando se ejecuta el programa. Todos los programas en C comienzan su ejecución al principio de la función <code>main</code>, y cuando ésta acaba, el programa también.
 
Veamos con más detalle la definición de la función:
 
<source lang=c>
int main (int argc, char **argv)
</source>
 
En* unEl capítulo'''nombre''' posteriorde podrála verfunción unque ejemploviene dela usocontinuación, deentre los parámetros quellaves, recibees <code>main</code>.
* Recibe dos '''argumentos''': <code>int argc</code> y <code>char **argv</code> (que representan a la cantidad de argumentos ingresados al ejecutar el programa y a los valores de estos argumentos respectivamente).<ref>En un capítulo posterior podrá ver un ejemplo del uso de los parámetros que recibe <code>main</code>.</ref>
indica al compilador que la función que viene a continuación, entre llaves, se llama <code>main</code>, cuyos argumentos son <code>int argc</code> y <code>char **argv</code>, queLa representanfunctión a la cantidad de argumentos ingresados al ejecutar el programa y a los valores de estos argumentos respectivamente, y da'''devuelve''' como resultado un número entero, (<code>int</code>), (que es el <code>0</code> de la instrucción <code>return</code>). <ref>Es importante señalar que el estándar dice que <code>main</code> deberá definirse como función que retorna un entero, o de lo contrario el resultado queda indefinido.</ref>
 
Finalmente, y un tanto aparte (está separada del resto por una línea en blanco), tenemos la línea:
 
<source lang=c>