sábado, 2 de junio de 2007

FUNCIONES

Declaración y Definición

Las funciones son un conjunto de instrucciones que realizan una tarea específica.
En general toman unos valores de entrada, llamados parámetros y proporcionan un valor de salida o valor de retorno; aunque tanto uno como el otro pueden no existir.
Al igual que con las variables, las funciones pueden declararse y definirse.
Un ejemplo tipico para una función podría ser la que, dados dos números a y b, nos indique si a es menor que b.
En este caso los parametros serían a y b y valor de retorno verdadero o falso, dependiendo de si a es menos que b o no.
-----------------------------------------------
DEFINICIÓN DE UNA FUNCIÓN

En general, la definición de una función se compone de las siguientes secciones, aunque pueden complicarse en ciertos casos:

[extern static] tipoRetorno nombreFuncion (listaDeParámetros)
{
cuerpoDeLaFuncion
}

Veamos paso a paso cada una de las secciones:
Opcionalmente, una palabra que especifique el tipo de almacenamiento, puede ser "extern" o "static". Si no se especifica es "extern". link al tema de almacenamiento
El tipo del valor de retorno, que puede ser "void", si no necesitamos valor de retorno. Si no se establece, por defecto será "int". Generalmente, no se suele omitir.
-----------------------------------------------------
DECLARACION DE UNA FUNCION

Un elemento que se usa muy frecuentemente son los prototipos o declaración de función. Una función prototipo consiste en una definición de la función con un sin cuerpo y terminado con un ";".
La estructura de un prototipo es:
tipoRetorno nombreFuncion (listaDeParámetros);

Sirve para indicar al compilador los tipos de retorno y los de los parámetros de una función, de modo que compruebe si son del tipo correcto cada vez que se use esta función dentro del programa, o para hacer las conversiones de tipo cuando sea necesario.
En C++ es obligatorio el uso funciones prototipo.

NOTA: La diferencia entre una declaración y una definición es que la definición posee un cuerpo de función.
-----------------------------------------------------
ESTRUCTURA DE UN PROGRAMA

La estructura de un programa en C++ es:.

[directivas del pre-procesador: includes y defines]
[declaración de variables globales]
[prototipos de funciones]
funcion main
[definiciones de funciones]

Los programas complejos se escriben normalmente usando varios ficheros fuente. Estos ficheros se compilan separadamente y se enlazan juntos.
Esto es una gran ventaja durante el desarrollo y depuración de grandes programas, ya que las modificaciones en un fichero fuente sólo nos obligarán a compilar ese fichero fuente, y no el resto, con el consiguiente ahorro de tiempo.
La definición de las funciones puede hacerse dentro de los ficheros fuente o enlazarse desde librerías precompiladas.

No hay comentarios: