Funciones

Las funciones son las estructuras más importantes dentro del lenguaje de programación C (y en general de cualquier lenguaje procedural). Permiten una programación estructurada y simplifican la lectura del código; pero lo más importante es que, una función sencilla que raliza una tarea bien específica, puede ser reutilizada con extrema facilidad en cualquier otro programa.

El uso y construcción de funciones propias es una tarea fácil y eficiente. La construcción de una función involucra dos pasos:

  1. Declaración de la función (prototipo). Esto consiste en declarar la función indicando el nombre, el tipo de retorno que posee, y el número y tipo de argumentos que recibe. Esta declaración puede realizarse o bien en el mismo archivo fuente, o en un header file (tipicamente con extensión ".h") e incluirse mediante la directiva #include.
  2. Definición de la función., o implementación del código mismo. Que puede ralizarse también en un archivo separado que se incluirá en la linea de compilación.

Ejemplo:

ejem_fun.c
/* Programa que imprime una serie de potencias de
   2 y -3                                             */
#include <stdio.h>
int power(int x, int n);  /* Prototipo de la función  */
main()
{
  int i;

  for(i = 0; i < 10; i++)
    printf("%d %d %d\n", i, power(2,i), power(-3,i));
}
/* Definición de la función Power                     */
int power(int x, int n)
{
  int i, p = 1;

  for(i=1; i <= n; i++)
    p = p * x;
  return p;
}

Puntos a Notar

  1. Para llamar una función se escribe su nombre seguido por una lista de argumentos encerrados entre paréntesis.
  2. Una función retorna un resultado del tipo declarado al definir la función; por eso puede ser empleada en cualquier expresión donde sea válida una variable del tipo retornado. En nuestro caso, cada printf llama dos veces a la función power().
  3. Los nombres de los argumentos, asi como el de las variables son locales a las funciones. El primer valor pasado se corresponde con el primer argumento de la función, es segundo valor con el segundo argumento, y asi.
  4. return ... devuelve el valor calculado. La expresión retornada debe ser del tipo declarado. Si la función posee retorno void, significa que no retorna nada, lo mismo ocurre para funciones que poseen argumento void.

ICOM