Funciones en C Programación con ejemplos

Rate this post

En este tutorial, aprenderemos las funciones de la programación en C. Una función es un bloque de declaraciones que realiza una tarea específica. Digamos que estás escribiendo un programa de C y necesitas realizar una misma tarea en ese programa más de una vez. En tal caso tienes dos opciones:

a) Usar el mismo conjunto de sentencias cada vez que quieras realizar la tarea
b) Crear una función para realizar esa tarea, y llamarla cada vez que se necesite realizar esa tarea.

Usar la opción b) es una buena práctica y un buen programador siempre usa las funciones mientras escribe el código en C.

Por qué necesitamos funciones en C

Las funciones se utilizan por las siguientes razones –
a) Mejorar la legibilidad del código.
b) Mejora la reutilización del código, la misma función puede ser usada en cualquier programa en lugar de escribir el mismo código desde cero.
c) La depuración del código sería más fácil si se utilizan funciones, ya que los errores son fáciles de rastrear.
d) Reduce el tamaño del código, el conjunto duplicado de instrucciones es reemplazado por llamadas a funciones.

Tipos de funciones

1) Funciones predefinidas de la biblioteca estándar

Las funciones estándar de la biblioteca también se conocen como funciones incorporadas. Funciones como puts(), gets(), printf(), scanf() etc. son funciones de biblioteca estándar. Estas funciones ya están definidas en los archivos de cabecera (los archivos con extensiones .h se llaman archivos de cabecera como stdio.h), por lo que sólo las llamamos cuando es necesario utilizarlas.

Por ejemplo, la función printf() está definida en el archivo de cabecera, así que para usar la función printf(), necesitamos incluir el archivo de cabecera en nuestro programa usando #include .

2) Funciones definidas por el usuario

Las funciones que creamos en un programa se conocen como funciones definidas por el usuario o, en otras palabras, se puede decir que una función creada por el usuario se conoce como función definida por el usuario.

Ahora aprenderemos cómo crear funciones definidas por el usuario y cómo utilizarlas en la programación C

Sintaxis de una función

return_type function_name (lista de argumentos){ Conjunto de declaraciones - Bloque de código}

tipo_de_retorno: El tipo de retorno puede ser de cualquier tipo de datos como int, doble, char, vacío, corto etc. No te preocupes, entenderás mejor estos términos una vez que hayas repasado los ejemplos de abajo.

function_name: Puede ser cualquier cosa, sin embargo se aconseja tener un nombre significativo para las funciones de manera que sea fácil entender el propósito de la función con sólo ver su nombre.

lista de argumentos: La lista de argumentos contiene los nombres de las variables junto con sus tipos de datos. Estos argumentos son una especie de entradas para la función. Por ejemplo – Una función que se usa para añadir dos variables enteras, tendrá dos argumentos enteros.

Bloque de código: Conjunto de sentencias C, que se ejecutarán siempre que se haga una llamada a la función.

¿Encuentras los términos anteriores confusos? – No te preocupes, no voy a terminar esta guía hasta que los aprendas todos 🙂
Tomemos un ejemplo – Supongamos que quieres crear una función para añadir dos variables enteras.

Dividamosel problema para que sea fácil de entender –
La función sumará los dos números por lo que debe tener algún nombre significativo como suma, suma, etc. Por ejemplo, tomemos la suma del nombre para esta función.

return_type addition(lista de argumentos)

Esta adición de función añade dos variables enteras, lo que significa que necesito dos variables enteras como entrada, permite proporcionar dos parámetros enteros en la firma de la función. La firma de la función sería –

return_type addition(int num1, int num2)

El resultado de la suma de dos números enteros sería sólo un número entero. Por lo tanto, la función debería devolver un valor entero – Tengo mi tipo de retorno – Sería un entero –

int adición(int num1, int num2);

Así que tienes tu prototipo de función o firma.

Ahora puedes implementar la lógica en el programa C de esta manera:

¿Cómo llamar a una función en C?

Considera el siguiente programa de C

Ejemplo 1: Creación de una función definida por el usuario adición()

#include <stdio.h>int addition(int num1, int num2){ int sum; /* Aquí se usan argumentos*/ sum = num1+num2; /* El tipo de retorno de la función es entero, así que estamos devolviendo * un valor entero, la suma de los números pasados. */ return sum;}int main(){ int var1, var2; printf("Introducir número 1: "); scanf("%d",&var1); printf("Introducir número 2: "); scanf("%d",&var2); /* Llamando a la función aquí, el tipo de retorno de la función * es un número entero por lo que necesitamos una variable entera para mantener el valor * devuelto de esta función. */ int res = adición(var1, var2); printf ("Output: %d", res); return 0;}

Salida:

Introducir el número 1: 100Introducir el número 2: 120Salida: 220

Ejemplo2: Crear un vacío definido por el usuario que no devuelve nada

#include <stdio.h>/* el tipo de retorno de la función es nulo y no tiene parámetros*/evita la introducción(){ printf("Hin"); printf("Mi nombre es Chaitanyan"); printf("¿Cómo estás?"); /* No hay declaración de retorno dentro de esta función, ya que su * tipo de retorno es nulo */}int main(){ /*función de llamada*/ introducción(); return 0;}

Salida:

Hola, mi nombre es Chaitanya. ¿Cómo estás?

Pocospuntos a tener en cuenta respecto a las funciones en C:
1) main() en el programa de C es también una función.
2) Cada programa de C debe tener al menos una función, que es main().
3) No hay límite en el número de funciones; un programa de C puede tener cualquier número de funciones.
4) Una función puede llamarse a sí misma y se conoce como «Recursión

«. He escrito una guía separada para ello.

Funciones C Terminologías que debe recordar
tipo de devolución:

Tipo de datos del valor devuelto. También puede ser nulo, en tal caso la función no devuelve ningún valor.

Nota: por ejemplo, si el tipo de retorno de la función es char,

entonces la función debería devolver un valor de tipo char y mientras llama a esta función la función main() debería tener una variable de tipo de datos char para almacenar el valor devuelto.

La estructura se vería como –

char abc(char ch1, char ch2){ char ch3; ... ... return ch3;}int main(){ ... char c1 = abc('a', 'x'); ...}

Más temas sobre las funciones en C

1) Función – Método de llamada por valor-

En el método de llamada por valor los argumentos reales se copian a los argumentos formales, por lo que cualquier operación realizada por la función sobre los argumentos no afecta a los parámetros reales.

2) Función – Método de llamada por referencia

– A diferencia de la llamada por valor, en este método, la dirección de los argumentos reales (o parámetros) se pasa a los parámetros formales, lo que significa que cualquier operación realizada sobre los parámetros formales afecta al valor de los parámetros reales.❮ AnteriorSiguiente ❯

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Salir de la versión móvil