sábado 21 de febrero de 2009

CURSO FUNCIONES EN C. DEFINICIÓN.

Tras declarar una función, el siguiente paso es implementarla. Generalmente, este paso se conoce como definición. Es precisamente en la definición de una función donde se especifican las instrucciones que forman parte de las mismas y que se utilizan para llevar a cabo la tarea específica de la función. La definición de una función consta de dos partes, el encabezado y el cuerpo de la función. En el encabezado de la función, al igual que en el prototipo de la misma, se tienen que especificar los parámetros de la función, si los utiliza y el tipo de datos que devuelve,mientras que el cuerpo se compone de las instrucciones necesarias para realizar la tarea para lo cual se crea la función. La sintaxis de la definición de una función es como sigue:

tipo_de_retorno nombre_de_la_fuCursivancion (lista_de_parámetros)
{
sentencias ;
}

E
l tipo_de_retorno representa el tipo de dato del valor que devuelve la función. Este tipo debe ser uno de los tipos simples de C, un puntero a un tipo de C o bien un tipo struct. De forma predeterminada, se considera que toda función devuelve un tipo entero (int). En otras palabras,si en la declaración o en la definición de una función no se especifica el tipo_de_retorno, el compilador asume que devuelve un valor de tipo int. El nombre_de_la_funcion representa el nombre que se le asigna a la función.
Se recomienda que el nombre de la función esté relacionado con la tarea que lleva a cabo. En caso de que la función utilice parámetros, éstos deben estar listados entre parentesis a continuación del nombre de la función, especificando el tipo de dato y el nombre de cada parámetro. En caso de que una función no utilice parámetros, se pueden dejar los paréntesis vacios o incluir la palabra void, que indica que la función no utiliza parámetros. Después del encabezado de la función, debe aparecer delimitado por llaves ( { y }), el cuerpo de la función compuesto por las sentencias que llevan a cabo la tarea específica de la función. Veamos la definición de la función cubo:

int cubo (int base)
{
int potencia ;
potencia = base * base * base
return potencia ;
}

Como ya se ha visto, a los argumentos que recibe la función también se les suele llamar parámetros. Sin embargo, algunos autores consideran como parámetros a la lista de variables entre paréntesis utilizada en la declaración o en la definición de la función, y como argumentos los valores utilizados cuando se llama a la función, y como argumentos los valores utilizados cuando se llama a la función. También se utilizan los términos argumentos formales y argumentos reales, respectivamente, para hacer esta distinción.
Cuando un programa utiliza un número elevado de funciones, se suele separar las declaraciones de función de las definiciones de las mismas. Al igual que con las funciones de biblioteca, las declaraciones pasan a formar parte de un fichero cabecera (extensión .h), mientras que las definiciones se almacenan en un fichero con el mismo nombre que el fichero .h, pero con la extensión .c. En algunas ocasiones, un programador no desea divulvar el código fuente de sus funciones. En estos casos, se suele proporcionar al usuario el fichero de cabecera, el fichero compilado de las definiciones ( con extensión .o , de objeto) y una documentación de las mismas. De esta manera, cuando el usuario desea hacer uso de cualquiera de las funciones, sabe que argumentos pasarle y qué tipo de datos devuelve, pero no tiene acceso a la definición de las funciones.
F
uente:" Fundamentos de programación" de J.M.Molina y F.Chamorro . Ed.McGraw-Hill