Funciones
Enviado por ercambrack • 30 de Octubre de 2014 • 1.413 Palabras (6 Páginas) • 302 Visitas
En la unidad 2 hemos visto que una función es un fragmento de código que realiza una
tarea bien definida. Por ejemplo, la función printf imprime por la salida estándar los
argumentos que le pasamos. Al igual que esta función, existen otras funciones que realizan
diversas tareas ya definidas en el estándar ANSI C y que pueden ser utilizadas por
el programador. Este tipo de funciones predefinidas son denominadas funciones de
biblioteca. Sin embargo, cada programador puede definir sus propias funciones de
acuerdo a sus necesidades. Las funciones que define el programador son conocidas como
funciones de usuario.
La utilización de funciones nos permite dividir un programa extenso en pequeños segmentos
que realizan tareas concretas. Probablemente, dentro de un mismo programa se
realicen las mismas tareas varias veces, lo que se facilita mediante la utilización de funciones.
Sin embargo, es probable que ciertas funciones no sean reutilizables, pero al
usarlas se mejora la legibilidad del programa.
La filosofía en la que se base el diseño de C es el empleo de funciones. Por esta razón,
un programa en C contiene al menos una función, la función main. Esta función es particular
dado que la ejecución del programa se inicia con las instrucciones contenidas en
su interior. Una vez iniciada la ejecución del programa, desde la función main se puede
llamar a otras funciones y, posiblemente, desde estas funciones a otras. Otra particularidad
de la función main es que se llama directamente desde el sistema operativo y no
desde ninguna otra función. De esta manera, un programa en C sólo puede contener una
función main.
Con el propósito de permitir un manejo eficiente de los datos, las funciones en C no se
pueden anidar. En otras palabras, una función no se puede declarar dentro de otra función,
por lo que todas las funciones son globales o externas, lo que hace que puedan
llamarse desde cualquier parte de un programa.
Se puede acceder (llamar) a una determinada función desde cualquier parte de un programa.
Cuando se llama a una función, se ejecutan las instrucciones que constituyen
dicha función. Una vez que se ejecutan las instrucciones de la función, se devuelve el
control del programa a la siguiente instrucción (si existe) inmediatamente después de
la que provocó la llamada a la función.
Cuando se accede a una función desde un determinado punto del programa, se le puede
pasar información mediante unos identificadores especiales conocidos como argumentos
(también denominados parámetros). Una vez que la función procesa esta información,
devuelve un valor mediante la instrucción return.
La estructura general de una función en C es la siguiente:
tipo_de_retorno nombre_de_la_función (lista_de_parámetros)
{
cuerpo_de_la_función
return expresión
}
3. Funciones en C
3.1 Introducción
71
Donde:
• tipo_de_retorno: es el tipo del valor devuelto por la función, o, en caso de que la
función no devuelva valor alguno, la palabra reservada void.
• nombre_de_la_función: es el nombre o identificador asignado a la función.
• lista_de_parámetros: es la lista de declaración de los parámetros que son pasados
a la función. Éstos se separan por comas. Debemos tener en cuenta que pueden
existir funciones que no utilicen parámetros.
• cuerpo_de_la_función: está compuesto por un conjunto de sentencias que llevan
a cabo la tarea específica para la cual ha sido creada la función.
• return expresión: mediante la palabra reservada return, se devuelve el valor de la
función, en este caso representado por expresión.
Vamos a suponer que queremos crear un programa para calcular el precio de un producto
basándose en el precio base del mismo y el impuesto aplicable. A continuación mostramos
el código fuente de dicho programa:
#include <stdio.h>
float precio(float base, float impuesto); /* declaración */
main()
{
float importe = 2.5;
float tasa = 0.07;
printf("El precio a pagar es: %.2f\n", precio(importe, tasa));
return 0;
}
float precio(float base, float impuesto) /* definición */
{
float calculo;
calculo = base + (base * impuesto);
return calculo;
}
El ejemplo anterior se compone de dos funciones, la función requerida main y la función
creada por el usuario precio, que calcula el precio de un producto tomando como
parámetros su precio base y el impuesto aplicable. La función precio calcula el precio
de un producto sumándole el impuesto correspondiente al precio base y devuelve el
valor calculado mediante la sentencia return.
Por otra parte, en la función main declaramos dos variables de tipo float que contienen
el precio base del producto y el impuesto aplicable. La siguiente sentencia dentro
de la función main es la llamada a la función de biblioteca printf, que recibe como parámetro
una llamada a la función precio, que devuelve un valor de tipo float. De esta
manera, la función printf imprime por la salida estándar el valor devuelto por la función
precio. Es importante tener en cuenta que las variables importe y tasa (argumentos)
dentro
...