-¿Que es una función?
Una función es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Las funciones pueden tomar parámetros que modifiquen su funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comúnmente utilizadas durante un programa y de esta manera reducir la cantidad de código. Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control es devuelto al punto desde el cual la función fue llamada.-Prototipo de una función.
Un prototipo de función le da información importante al compilador. En el prototipo se indican el tipo de dato que retorna la función, el número, tipo y orden de parámetros que recibe la misma. El compilador utiliza los prototipos para verificar las llamadas a funciones. Antes el prototipado no existía y el compilador no podía detectar ciertos errores.Veamos un ejemplo de un prototipo de función:
int maximo(int, int, int);
Este prototipo indica que la función de nombre máximo retorna como resultado un valor de tipo entero. Además informa que la función debe ser llamada con tres parámetros del tipo entero también.
El prototipo también sirve para la coerción de argumentos, o sea, si la función es llamada con valores de otro tipo diferentes a los definidos en el prototipo de esa función, el compilador tratará de convertir esos valores a los tipos de datos correspondientes declarados en el prototipo (esto funcionará siempre y cuando sea posible la conversión entre esos tipos de datos). Por ejemplo, si la función espera un entero y recibe un decimal, intentará convertir ese decimal al entero truncando la parte decimal, lo cual puede generar errores si la exactitud de ese dato es importante. Por esta razón se debe tener mucho cuidado en la coerción de tipos automática.
El prototipado de funciones puede omitirse cuando se programa; el compilador formará el prototipo dependiendo de la primera aparición de la función. También, por omisión, el compilador asume que toda función regresa un valor del tipo entero de forma predeterminada.
Función sin parámetros sin entregar valor
void cuadrados()
{
int contador;
for( contador=1; contador<10; contador++)
printf("%d\n",contador*contador);
}
Función con parámetros sin entregar valor
void compara( int a, int b ){
if ( a>b ) printf( "%i es mayor que %i\n" , a, b );
else
printf( "%i es mayor que %i\n", b, a );
return;
}
Función con parámetros entregando un valor
{
int mayor;
if ( a>b )
mayor = a;
else
mayor = b;
return mayor;
http://www.alegsa.com.ar/Notas/112.phphttp://cfievalladolid2.net/tecno/cyr_01/control/lengua_C/funciones.htm
No hay comentarios:
Publicar un comentario