Funciones en C/C++
Enviado por Mupias • 3 de Junio de 2017 • Práctica o problema • 1.880 Palabras (8 Páginas) • 207 Visitas
Funciones en C/C++
A la hora de trabajar en un programa de una cierta complejidad es importante modularizar el código, para esto se divide secciones de código que van a ser reutilizada en diferentes funciones, estas realizan una tarea específica, esto permite un código mucho más legible, prolijo y que no repite líneas de código.
Declaración de una función:
tipo_retorno nombreDeLaFuncion(tipo variable1, tipo variable2){
código…
}
Donde:
tipo_retorno es el tipo de dato que va a devolver la función, estos pueden ser: int, float, bool, void(vacio no devuelve nada), char, etc. NO se pueden devolver arrays de una función.
nobreDeLaFuncion: aquí pondremos el nombre con el que queramos llamar a la función.
tipo variable1 : pondremos el nombre que tendrá la variable dentro de la función y el tipo de dato que contiene, por ejemplo: (numero int).
Ejemplo de una función que suma dos números y devuelve el resultado:
Ej codigo:
#include int suma(int a,int b); // arriba siempre es necesario declarar la existencia de la función por esto se agrega // esta línea de código en el encabezado del programa por cada función creada. int suma(int a,int b){ // defino mi función
int resul; //código de la función resul=a+b; return resul; // devuelvo el resultado de la suma } int main() //programa principal { int num1=20; int num2=14; int resultado; resultado = suma(num1,num2); // llamo a la función que definí para q realice la suma printf("%d",resultado); return 0; } |
Otro ej:
#include void saludo(char nombre[]); //declaro las dos funciones en el encabezado int promedio(int arr[10]); void saludo(char nombre[]){ //función que recibe un nombre en un array //e imprime un msj saludando ese nombre printf("*********************************\n"); printf("hola %s, como estas?\n",nombre); printf("*********************************"); printf("\n\n\n"); } //esta función no devuelve nada por eso no tiene return. int promedio(int arr[10]){ //otra función que calcula el promedio de los números de un array de 10 elementos int i; int suma=0; //inicializo las variables int prom=0; for (i=0; i<10;i++){ //recorro el array y voy totalizando suma = suma + arr[i]; } prom = suma / 10; //calculo el promedio return prom; // devuelvo el promedio } main(){ //programa principal char nom[]={"pepe"}; //creo un array con un nombre saludo(nom); //llamo a la función saludo y le paso ese array int numeros[10]={5,10,15,25,30,40,50,80,90,35}; //creo un array de 10 enteros int prom; prom = promedio(numeros); //llamo a la función promedio y guardo el resultado en prom printf("promedio del array = %d",prom); //imprimo el promedio } |
Pasaje de parámetros en funciones
El pasaje de parámetros se le dice a los valores que le damos a una función para que trabaje con ellos. Estos se pueden pasar de diferentes maneras a una función, en C/C++ hay 3 formar, por valor, por referencia y por punteros.
Las funciones en C/C++ reciben por defecto todas sus variable por valor.
Por valor significa que la función va a copiar los valores de esas variables en nuevas variables con las que va a trabajar en la función, por lo tanto estas variables son “copias” locales a la función que tienen el mismo valor que se les paso por parámetro, cualquier cambio que realicemos a ellas no se ve reflejado en las variables originales.
Ej:
#include void swap(int a, int b); void swap(int a, int b){ //define la función swap que intercambia los valores de a y b int tmp; tmp = a; a=b; b=tmp; } int main() { int a=15; int b=100; printf("valor a y b antes de swap: %d %d\n",a,b); swap(a,b); printf("valor a y b después de swap: %d %d",a,b); return 0; } |
...