Aprende C con ParaNoix - Funciones o Subprogramas
21 - Funciones o Subprogramas
Una función es una parte del código independiente del programa principal main() y a su vez de las demás funciones. Esta es llamada enviándole o no, datos para que realice una determinada tarea y/o nos proporcione unos resultados. Es necesario que realicemos estas funciones, ya que gracias a ellas nuestro código será mucho mas modular, es decir que si nos fallase algo del código sabríamos donde es y además podríamos reutilizar estas funciones para diferentes fines. En definitiva, si utilizamos funciones para cada una de las pequeñas tareas de nuestro código, este se vera más limpio y todo ira mucho mejor: D
Definición de una función:
En el siguiente cuadro de código voy a enseñaros como definir una función correctamente. La primera forma nos muestra dos partes, encabezamiento y cuerpo. La segunda esta un poco más desglosada y la tercera es un ejemplo:
|
Encabezamiento (Header) { Cuerpo(body) }
…
Tipo_valor_retorno nombre_funcion(lista argumentos con tipos) { Declaración variables locales Codigo ejecutable Return (expresiуn) //Optativo }
…
Int funcion(int a) { Int b=30, c=20; a=b+c; return a; }
|
En este caso devolvemos el valor a, pero no siempre ha de devolverse un valor, una función puede realizar ciertas operaciones sin tener que devolvernos un valor, mas adelante veremos ejemplo de esto.
Funciones que no devuelven valores:
Vamos a empezar explicando como se representa una función que no devuelve nada, es decir que lo único que hace es realizar un procedimiento. Veamos un ejemplo de este tipo de funciones:
|
#include <stdio.h> #include <math.h> #include <conio.h>
void mgeometric(); //Es necesario declarar la funcion antes de utilizarla
int main() { printf("\n Programa Principal que llama a una "); printf("\n\n Función de nombre mgeometric()"); mgeometric(); printf("\n\n\n _- Se acabo lo que se daba -_"); getche(); }
void mgeometric() { float a,b; printf("\n Introduce primer numero: "); scanf("%f",&a); printf(" Introduce segundo numero: "); scanf("%f",&b); printf("\n La Media Geométrica de %f y %f es %f",a,b,sqrt(a*b)); getche(); }
|
Cuando una función no retorna nada es de tipo “void”.
Funciones que devuelven valores:
Ahora veremos funciones que si devuelven un valor (valor de retorno) a nuestra función principal. Como siempre veamos un ejemplo:
|
#include <stdio.h>
int cuenta(char nom[25]);
void main() { int longit; char palabra[25];
printf("\n Escribe una palabra de 25 caracteres como maximo: "); scanf("%s",palabra); longit=cuenta(palabra); printf("\n\n Longitud de %s = %d",palabra,longit); }
int cuenta(char nom[25]) { int i; i=0; while(nom[i]!='\0')i++; return i; }
|
En este caso podemos ver una función que utilizara un variable de tipo string (Cadena de caracteres) que tendrá como máximo 25 caracteres y que el valor que devolverá será un entero. Por eso nuestra función es de tipo int y en este caso utilizamos el return (devolver en ingles ¬¬) y ese entero es almacenado en la variable longit de la función principal. Hasta aki por ahora, seguiremos avanzando jejeje.
|
Opiniona sobre 'Aprende C con ParaNoix - Funciones o Subprogramas' (7)
Opina sobre este curso gratis |


