Funciones

  • Las funciones son segmentos de código separados del principal al que se llaman cuando se necesitan.
    Una función generalmente está orientada a cumplir una determinada tarea más o menos compleja.
  • Una función tiene:

    1. Identificador es el nombre de la función y se utiliza para llamarla
    2. Retorno es el resultado que devuelve tras ejecutarse
    3. Parámetros que recibe
    4. Cuerpo Es la expresión del algoritmo.

    Una función se puede declarar en cualquier parte pero nunca dentro de otra función.

    Para llamar una función se escribe la variable donde se quiere guardar su valor de retorno el signo de asignación el nombre de la función y entre paréntesis los parámetros ordenados (todos) que necesita recibir la función.

    1. a es la variable donde se almacena el valor de retorno y su tipo tiene que coincidir con el, esto no es necesario pero si no se almacena este valor se perderá (como cabe esperar) también hay funciones que no devuelven ningún valor estas carecen de la sentencia return y el tipo es void
    2. el ; del final es porque es un fin de sentencia , si la función estuviese dentro del condicional
       if( NombreFuncion(10,z)){...} 
      no se pondría.

    En un mismo programa variables que estén en diferentes funciones no interfieren , es decir si llamas a una función y envías como parámetro la variable a y luego dentro de la función se declara una variable a no genera ningún problema lo que no se puede hacer es declarar una variable que genere ambigüedad con los parámetros que recibe.

    ¿Que sucede cuando se llama a una función?
    Lo primero que se hace es reservar memoria para los parámetros que recibe la función y se copian en ella los datos que se le pasan, en caso de ser un valor se almacena este en caso de ser una variable se almacena el valor de esta variable.
    Se ejecutan las ordenes de manera secuencial, dentro de estas ordenes puede estar la de reservar más espacio para almacenar nuevas variables. Estas ordenes se ejecutaran hasta encontar el fin de la función determinado por el cierre de llaves del cuerpo principal (puede haber más aperturas y cierres de llaves debidos a sentencias de control por ejemplo) o encontrar una sentencia return.
    Una vez que se encuentra la sentencia return libera toda la memoria reservada que se ha usado en la función.

    Cuando se realiza una llamada a una función esta siempre se busca en la parte superior del código, si no se encuentra en la parte superior entonces dará error, una forma de solucionar esto es colocar la función en la parte superior o poner una declaración de la función( esto consiste en poner al principio del código una expresión simplificada del valor de retorno nombre de la función y entre paréntesis la lista de tipos de los valores que va a recibir)

    La función main () todos los programas en C tiene por lo menos una función la función principal o main que es a la que se llama cuando se ejecuta el programa, y este termina cuando se llega al return o a su llave de cierre que devuelve el control a OS sistema operativo.