La forma general de definición de una función es:
tipo nombre(lista de parámetros)
{
cuerpo de la función
}
El tipo especifica el tipo de valor que devuelve la sentencia return de la función. El valor puede ser cualquier tipo válido; si no se especifica ninguno, se asume un resultado entero.
- Funciones sin parámetros
La lista de parámetros es la lista de nombres de variables separados por comas con sus tipos asociados que reciben los valores de los argumentos cuando se llama a la función. Puede no tener parámetros, en ese caso la lista de parámetros está vacía; sin embargo los paréntesis son necesarios.
void mi_funcion( )
{
bloque de sentencias
}
- Prototipos de funciones
int cubo (int);
En este caso se declara la función cubo que recibe como parámetro una variable de tipo entero y devuelve un valor del mismo tipo. En ningún momento estamos especificando qué se va hacer con la variable, sólo declaramos las características de la función.
Los prototipos de las funciones son utilizados por el compilador para verificar que se accede a la función de la manera adecuada con respecto al número y tipo de parámetros, y al tipo de valor de retorno de la misma.
- Parámetro por valor y por referencia
Por referencia significa que se pasa la posición de memoria donde está guardada la variable, por lo que la función puede saber cuánto vale, pero además puede modificarla de cualquier manera.
Ejemplos:
#include <stdio.h>
#include <conio.h>
/*Programa que dados dos números enteros determine la suma y cual de ellos es mayor, usando dos funciones diferentes.*/
void suma (int a, int b); /*Declaración de la función*/void mayor (int a, int b); /*Tipo de dato, nombre de la función y el tipo y nombre de los argumentos*/
main()
{
int a, b;
printf("Ingrese el valor de a:\n");
scanf("%d", &a);
printf("Ingrese el valor de b:\n");
scanf("%d", &b);
suma(a,b); /*Llamado de la función*/
mayor(a,b); /*Unicamente el nombre de la función y de los parámetros*/
getch();
return 0;
}
return 0;
}
void suma(int a, int b) /*Definición de la función*/
{ /*Abrimos llaves al inicio de la definición*/
int sum; /*Declaración de las variables locales*/
sum=a+b; printf("El valor de la suma es %d:\n\n", sum);
} /*Fin de la funci¢n suma*/
void mayor(int a, int b){
if(a==b) printf("Son iguales\n\n");
else { if(a>b)
printf("El valor de a es mayor que el de b\n\n");
{ /*Abrimos llaves al inicio de la definición*/
int sum; /*Declaración de las variables locales*/
sum=a+b; printf("El valor de la suma es %d:\n\n", sum);
} /*Fin de la funci¢n suma*/
void mayor(int a, int b){
if(a==b) printf("Son iguales\n\n");
else { if(a>b)
printf("El valor de a es mayor que el de b\n\n");
else
printf("El valor de b es mayor que el de a\n\n");
printf("El valor de b es mayor que el de a\n\n");
}
}
}
No hay comentarios:
Publicar un comentario