You are on page 1of 3

Antes de ahondar en las funciones con parmetros es necesario especificar lo que es una funcin.

Una funcin es un grupo de sentencias, declaraciones, definiciones o expresiones bajo el mismo nombre que realizan una tarea especfica. Otro punto que es importante tocar es la diferencia entre las funciones y los programas debido a que estos dos se parecen mucho, pero difieren en los siguientes puntos: -Los programas son usados por un usuario externo y las funciones son usadas por un programador -El usuario de algn programa por ejemplo el Hola Mundo no conoce la instruccin printf que sirve para desplegar texto, y el programador que usa la instruccin printf no siempre conocer como es que esta instruccin hace que muestre la informacin en pantalla. Sabiendo esto, ahora podemos conocer el formato general de una funcin de parmetros con valor en C: especificador_de_tipo nombre_de_funcin(lista_de_parmetros)
{ variables locales cdigo de la funcin }

Donde el especificador de tipo indica, como su nombre lo dice, el tipo del valor que la funcin devolver mediante el uso de return, este valor puede ser de cualquier tipo vlido. En dado caso de que no se especfica un valor, entonces la computadora asume por defecto que la funcin devolver un resultado entero. No se tienen que incluir siempre parmetros en una funcin, es decir, la lista de parmetros puede estar vaca. Las funciones terminan y regresan automticamente al procedimiento que las llam cuando se encuentra la ltima llave }, o bien, se puede forzar el regreso antes usando la sentencia return. Un ejemplo prctico de esto sera el siguiente: #include <cstdlib> #include <iostream> float encontprom(int num1, int num2) { float promedio; promedio = (num1 + num2) / 2.0; return(promedio); } main() { int a=7, b=10; float resultado; resultado = encontprom(a, b); printf("Promedio=%f\n",resultado); getchar(); }

Este programa tiene una funcin llamada encontprom donde previamente se hacen las operaciones correspondientes para obtener el promedio, y se regresa con un return, luego en el main solo se llama a la funcin y se le asignan valores (a=7 y b=10), el resultado de esto se le asigna a la variable resultado y eso es lo que se imprime en consola.

Otro ejemplo ms detallado sera el siguiente: int suma (int a, int b){ a=4; return a+b; }
La funcin suma recibe dos parmetros de tipo int y devuelve la suma de ambos, que tambin es un dato de tipo int.

Int main(){ int a=2; Se declaran dos variables enteras int b=3; Se imprime a = 2 printf("%d",a); printf("%d", suma(a,b));El valor de a se ha cambiado 4+3=7 printf("%d",a); Se vuelve a imprimir a = 2 getchar(); } Por otro lado, en las funciones con parmetros por referencia lo que se recibe la funcin es una direccin de memoria. Retomando el ejemplo anterior con parmetros por referencia se tiene: int suma (int *a, int *b){ El * significa que los parmetros ahora *a=4; son punteros, tambin el * nos indica return *a+*b; que accedemos al contenido de la } direccin de memoria, es decir, al valor int main(){ de la variable. int a=2; int b=3; printf("%d",a); Al poner el & lo que estamos haciendo es printf("%d", suma(&a,&b)); pasar la direccin de memoria de la variable. printf("%d",a); getchar(); }

En el primer printf se mostrar un 2, que es el valor de inicializacin de a. En el segundo printf se mostrar el valor retornado por la funcin suma: 7 El ltimo printf mostrar de nuevo el valor de a pero, en este caso, el valor habr cambiado puesto que en la funcin se modific, y al pasar a por referencia, el cambio se hace permanente, por lo tanto esa lnea imprimir un 4. Referencias Facultad de Ingeniera Elctrica y Computacin de Guayaquil-Ecuador www.fismat.umich.mx http://programacionnerd.blogspot.mx mientrasprogramo.blogspot.mx

You might also like