Sie sind auf Seite 1von 4

II.

FUNCIONES

2.1 Introducción

Función: es una colección de sentencias que ejecutan una tarea específica.

2.2 Definición de una función

Formato:

tipo nom_función (parámetro(s) formal(es))


{ //declaración de variables locales
sentencias; // cuerpo de la función
return expresión; //es opcional

donde:

tipo: especifica qué tipo de dato del valor que retorna la función. Este puede ser
cualquier tipo básico.
Se puede omitir se asume int el valor de retorno. Este valor es devuelto a la sentencia
de llamada, por medio de la instrucción return (expresión).

Declaración de variables locales a la funcion: Es el ámbito en donde se declaran las


variables que se generan dentro de la función porque se necesitan para almacenar
valores.

Sentencias: Conjunto de instrucciones que realizan una tarea específica.

return(expresión); o return; : La función devolverá un solo valor mediante la


sentencia return(expresión); o no devolver valor mediante la expresión return; o
omitiendo la sentencia return.
Esta sentencia puede aparecer más de una vez en el cuerpo de la función.

Parámetro(s) formale(s): son las variables que reciben los valores de los argumentos
en la llamada a la función .

Las funciones se pueden definir en cualquier orden, pero deben ser independientes
unas de otras. O sea una definición de una función no puede estar incluida en otra.
2.3 Acceso a una función

Cuando una función se llama, el control se pasa a la misma para su ejecución, se


devuelve el control al modulo que llamó y se continua con la siguiente instrucción en
secuencia.

Formato de la llamada a una función:

[var =] nom_función(parametros(s)actuales);

Var: Especifica las variables donde se almacenara el valor devuelto por la función. Es
opcional.
Parámetros actuales: Son los valores (constante o variablea) a enviar a los
parámetros formales.

Ejemplo:

Programa principal Función

#include <stdio.h>
#include <conio.h>
main() tipo Nombre Parámetro
{ funcion formal
Parámetro actual
...
y=divide(12); /* llamada a la función */
int divide (int x)
... { int s;
s=x/5;
return (s);
} }

En la función divide, la variable x


recibe el valor de 12 que es pasado en
la llamado de la función, por tanto x =12
y se procede a dividir entre 5.
2.4 Declaración de una función prototipo:

Formato Ejemplo

Tipo nom_función (argumentos); //programa principal


#include <stdio.h>
main ()
{int a, b, c;
Permite al compilador conocer el nombre, int maximo (int x, int y); /* prototipo */
el tipo del resultado, los tipos de scanf(“%d %d”, &a, &b);
parámetros formales y opcionalmente sus c=maximo(a,b);/*llamada a la función */
nombres.( no define el cuerpo de la printf(“maximo entre a y b = %d \n”, c);
función) getch();
Tiene la misma sintaxis que la definición return 0;
de una función excepto que termina con }
punto y coma (;).
/* definición de la función */
int maximo (int x, int y)
{ int z;
z=(x>=y) ?x : y;
return (z);
}

Ejemplo

/* definición de la función */
int maximo (int x, int y)
{ int z;
z=(x>=y) ?x : y;
return (z);
Sin función prototipo }

//programa principal
#include <stdio.h>
#include <conio.h>
// no es necesario
// la función prototipo
main ()
{int a, b, c;
scanf(“%d %d”, &a, &b);
c=maximo(a,b);/*llamada a la función */
printf(“maximo entre a y b = %d \n”, c);
getch();
return 0;
}
Ejemplo

La función prototipo recibe el nombre de //programa principal


declaración forward, esto es una #include <stdio.h>
declaración que precede a la definición de main ()
la función. {int a, b, c;
Si se llama a una función antes de su scanf(“%d %d”, &a, &b);
definición y no existe una declaración c=maximo(a,b);/*llamada a la función */
Forward, implícitamente ésta se construye printf(“maximo entre a y b = %d \n”, c);
con tipo de resultados int. getch();
Si en lugar de retornar int se retorna return 0;
doublé tendríamos un error en la }
compilación.
/* definición de la función */
int maximo (int x, int y)
{ int z;
z=(x>=y) ?x : y;
return (z);
}

Das könnte Ihnen auch gefallen