0% encontró este documento útil (0 votos)
15 vistas22 páginas

Funciones en Lenguaje C: Guía Completa

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
15 vistas22 páginas

Funciones en Lenguaje C: Guía Completa

Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Funciones en

el Lenguaje C
Ing. Giankaris G. Moreno R., M.Sc.
❖ Manejar los formatos de la declaración de funciones en el lenguaje C
❖ Identificar la diferencia entre paso de parámetros por valor y paso de
parámetro por referencia, en el lenguaje C.

❖ Resolver problemas que manejen los conceptos de funciones en el


lenguaje C.

2
Funciones
1. Definición de una función
2. Prototipo de una función
3. Llamado a una función y paso de parámetros

3
1.
Definiciónde
una Función

4
Las funciones son bloques de código utilizados para dividir un programa en
partes más pequeñas, cada una de las cuáles tendrá una tarea determinada.

“Es importante tener en cuenta que una función realiza una tarea específica.”

El lenguaje C como cualquier otro lenguaje de programación puede manejar:


❖ Funciones estándares al lenguaje
❖ Funciones creadas por el usuario

5
Las funciones estándares al lenguaje, son aquellas que realizan una tarea específica y
cuyo código se encuentra en la biblioteca estándar del compilador.
Existen funciones estándares para operaciones matemáticas, manipulación de
cadenas, manipulación de archivos, etc.

Para utilizar cada librería, será necesario importar el fichero de cabecera


correspondiente, por ejemplo:
math.h • Para las funciones matemáticas

string.h y stdlib.h • Para funciones de cadenas

ctype • Para funciones de caracter

6
ALGUNAS FUNCIONES DE LA LIBRERÍA MATEMÁTICA math.h

sin (x) seno de x


cos (x) coseno de x
tan (x) tangente de x
exp (x) función exponencial ex
log (x) logaritmo natural ln(x), x>0
pow (x, y) potencia xy
sqrt (x) raíz cuadrada de x
fabs (x) valor absoluto |x|

7
El uso de funciones definidas por el
usuario (desarrollador) permiten dividir
un programa grande en un cierto número
de pequeños módulos que realizan tareas
específicas, es decir que tienen un
propósito único.

Función creada por el usuario llamada suma

8
Las funciones pueden devolver un valor.
a) Si no devuelve nada se declara de tipo void.
b) Si devuelve un valor, la función se declara del tipo de dato que coincide con el
tipo del valor que se devuelve.

Es importante tener presente, que sin importar la cantidad de funciones que


desarrolle el usuario, nuestros códigos fuentes siempre deben tener una y sólo una
función main( ), que se encarga de empezar la ejecución de cualquier programa
escrito en el lenguaje C.

9
2.
Prototipo de
una función

10
Formato de declaración de una función:
Las funciones en C pueden ser declaradas por encima del main o por debajo de
del mismo, sin embargo, la ubicación por debajo del main () trae consigo lo
siguiente: debe ubicar por encima del main() el prototipo o encabezado de la
función.

Luego de esto, las funciones pueden ser llamadas desde cualquier parte del
programa y una vez que su ejecución finaliza el control retorna al punto desde donde
fue llamada dicha función.
Las funciones tienen tres componentes principales:
❖ Prototipo o Encabezado
❖ Declaraciones Locales de la función.
❖ Cuerpo de la función

11
Declaración de una Función
Prototipo/Encabezado

float suma ( float num1, float num2) {


float resp; Declaración Local de la Función

resp = num1 + num2 ; Cuerpo de la


return resp; Función

Valor
devuelto

12
❖ Mejoran la claridad, estructura y legibilidad del programa.
❖ Se pueden ejecutar más de una vez en un programa, o en diferentes
programas, ahorrando tiempo de programación.
❖ Facilita la división de las tareas entre un equipo de programadores.
❖ Se pueden comprobar individualmente.

13
3.
Llamado a una
función y Paso
de Parámetros

14
.

Las funciones para ser ejecutadas han de ser llamadas o invocadas.


Cualquier expresión puede contener una llamada a una función.
Normalmente la llamada a una función se realizará desde el main, aunque
también se puede hacer desde otra función.

Formato de llamada a una función:


❖ Nombre de identificador = nom_función (lista de parámetros actuales);
❖ Nombre de identificador = nombre de la función ( );
❖ printf (“%tipo”, nombre de la función (Lista de parámetros actuales));
❖ Nombre de la función ();
❖ Nombre de la función (lista de parámetros actuales)

15
.

Es el proceso mediante el cual se envían valores a las funciones al momento de ser


llamadas para que ejecuten el proceso con los datos proporcionados.
La importancia del paso de parámetros es que permiten la reutilización de las
funciones con distintos valores en distintos puntos de un programa sin la necesidad
de reescribir el código.

Tipos de paso de parámetros en C:

Paso de parámetros por Valor

Paso de parámetros por Referencia

16
.

Es el proceso mediante el cual se envía/pasa una copia del valor del parámetro
actual a la función.
Los cambios realizados en el parámetro formal dentro de la función no afectan al
valor original.

Ventajas:
❖ Seguridad: La función no puede alterar el valor original.

❖ Simplicidad: Más fácil de entender para parámetros simples.

17
Ejemplo: #include<stdio.h>

int incrementar10(int x) {
Paso de int res;
res= x + 10;
parámetros return res;
por Valor }

void main( ){
int valor, resp;
printf(“Introduzca un valor entero: “);
scanf(“%i”, &valor);

resp= incrementar10(valor);
printf(“El resultado de incrementar 10 a %i es: %i”, valor, resp);
}

18
.

Es el proceso mediante el cual se envía/pasa la dirección de memoria del parámetro


actual a la función. La función puede modificar el valor original en la memoria.

Ventajas:
❖ Eficiencia: No se realiza una copia del dato, solo se pasa la dirección.

❖ Flexibilidad: Permite modificar los datos originales, esto es muy útil para
estructuras grandes o cuando se requiere modificar múltiples valores.

19
Ejemplo: #include<stdio.h>

void incrementar10(int *x) {


Paso de *x= *x + 10;
}
parámetros
por Referencia void main( ){
int valor;
printf(“Introduzca un valor entero: “);
scanf(“%i”, &valor);

incrementar10(&valor); //se envía la dirección de memoria


printf(“El resultado de incrementar 10 al valor es: %i ”, valor);
}

20
Característica Paso por Valor Paso por Referencia

Por valor Tipo de copia Copia el valor Dirección de memoria

vs
Modificación del
Noscreenshot here
Place your Si
original

por referencia
Uso de memoria Menor Mayor

Mas lento dependiendo


Rendimiento Más rápido
del tamaño de los datos

21
Preguntas?

22

También podría gustarte