Implementación de Funciones en Programación: Estructura y Conceptos Esenciales
Clasificado en Informática
Escrito el en español con un tamaño de 3,58 KB
Definición de la Función
Ya tenemos la función declarada. Con el prototipo ha quedado definido el modo en que podemos utilizarla: cómo nos comunicamos con ella y qué resultado nos ofrece.
Ahora queda la tarea de definirla.
Es necesario escribir el código, las sentencias, que realizarán la tarea para la cual fue creada la función.
Estructura de la Definición de una Función
La forma habitual que tendrá la definición de una función ya la conocemos, pues hemos visto muchas veces su aplicación: cada vez que creábamos un programa y escribíamos la función principal, estábamos definiendo la función main
. Esa forma es la siguiente:
tipo_funcion nombre_funcion([tipo1 var1][, tipoN varN])
{
[declaración de variables locales]
[cuerpo de la función: grupo de sentencias]
[return(parámetro);]
}
Donde el tipo_funcion
debe coincidir con el de la declaración, al igual que el nombre_funcion
y la lista de parámetros. Ahora, en la definición, los parámetros de la función incluyen el tipo de dato y el nombre de la variable; pero ahora ese nombre no es opcional. Debe especificarse, porque esos nombres serán los identificadores de las variables que recogerán los valores que se le pasan a la función cuando se la llama o invoca.
Parámetros Formales
A esas variables se las llama parámetros formales: son variables locales a la función; se crean cuando la función es invocada y se destruyen cuando termina su ejecución.
La lista de parámetros puede ser una lista vacía si no se desea pasar ningún valor a la función; esto es frecuente. En ese caso, tanto en el prototipo como en la definición, entre los paréntesis que siguen al nombre de la función se coloca la palabra clave void
.
tipo_funcion nombre_funcion(void); // declaración del prototipo
Funciones de Tipo void
Si la función no devuelve valor alguno, entonces se indica como de tipo void
, al igual que ya se hizo en la definición del prototipo. Una función declarada como de tipo void
no puede ser usada como operando en una expresión en C, porque esa función no tiene valor alguno. Una función de tipo void
puede, por ejemplo, mostrar datos por pantalla, escribir o leer archivos, etc.
Estructura Interna del Bloque de la Función
El bloque de la función tiene tres partes principales:
- La declaración de las variables locales.
- El cuerpo de la función, donde se encuentran las sentencias que llevarán a cabo la tarea para la que ha sido creada y definida la función.
- La sentencia
return
(opcional, dependiendo del tipo de función).
El bloque de la función viene delimitado entre llaves ({}
). Aunque la función tenga una sola sentencia, es obligatorio incluir esa sentencia única entre las llaves de apertura y cierre.
Variables Locales y Ámbito
Las variables creadas en el cuerpo de la función serán locales a ella. Se pueden usar identificadores idénticos para nombrar distintas variables de diferentes funciones, porque cada variable de cada función pertenece a un ámbito completamente disjunto al ámbito de otra función, y no hay posibilidad alguna de confusión. Cada variable tendrá su propia dirección de memoria y su ámbito distintos.