Las funciones son bloques de código reutilizables que realizan una tarea específica. En C, las funciones permiten dividir un programa en partes más pequeñas y manejables, facilitando la organización y la reutilización del código. Este módulo te enseñará los conceptos básicos de las funciones, cómo definirlas, declararlas y llamarlas.

Conceptos Clave

  1. Definición de Función: Un bloque de código que realiza una tarea específica.
  2. Declaración de Función: Prototipo de la función que informa al compilador sobre el nombre de la función, el tipo de retorno y los parámetros.
  3. Llamada a Función: Proceso de ejecutar la función en el programa principal.
  4. Tipo de Retorno: El tipo de dato que la función devuelve después de su ejecución.
  5. Parámetros: Variables que se pasan a la función para que opere sobre ellas.

Estructura de una Función en C

Una función en C se compone de tres partes principales:

  1. Declaración de la Función (Prototipo):

    return_type function_name(parameter_list);
    
  2. Definición de la Función:

    return_type function_name(parameter_list) {
        // Cuerpo de la función
    }
    
  3. Llamada a la Función:

    function_name(arguments);
    

Ejemplo Práctico

Declaración y Definición de una Función

Vamos a crear una función simple que suma dos números enteros y devuelve el resultado.

#include <stdio.h>

// Declaración de la función
int sumar(int a, int b);

int main() {
    int resultado;

    // Llamada a la función
    resultado = sumar(5, 3);

    printf("La suma es: %d\n", resultado);

    return 0;
}

// Definición de la función
int sumar(int a, int b) {
    return a + b;
}

Explicación del Código

  1. Declaración de la Función:

    int sumar(int a, int b);
    
    • int: Tipo de retorno de la función.
    • sumar: Nombre de la función.
    • int a, int b: Lista de parámetros que la función acepta.
  2. Definición de la Función:

    int sumar(int a, int b) {
        return a + b;
    }
    
    • int sumar(int a, int b): Encabezado de la función.
    • return a + b;: Cuerpo de la función que realiza la suma y devuelve el resultado.
  3. Llamada a la Función:

    resultado = sumar(5, 3);
    
    • sumar(5, 3): Llamada a la función con los argumentos 5 y 3.

Ejercicio Práctico

Ejercicio 1: Crear una Función para Calcular el Factorial de un Número

  1. Descripción: Escribe una función que calcule el factorial de un número entero positivo.
  2. Prototipo de la Función: int factorial(int n);
  3. Requisitos:
    • La función debe aceptar un número entero positivo.
    • La función debe devolver el factorial del número.

Solución

#include <stdio.h>

// Declaración de la función
int factorial(int n);

int main() {
    int numero = 5;
    int resultado;

    // Llamada a la función
    resultado = factorial(numero);

    printf("El factorial de %d es: %d\n", numero, resultado);

    return 0;
}

// Definición de la función
int factorial(int n) {
    if (n == 0) {
        return 1;
    } else {
        return n * factorial(n - 1);
    }
}

Explicación del Código

  1. Declaración de la Función:

    int factorial(int n);
    
  2. Definición de la Función:

    int factorial(int n) {
        if (n == 0) {
            return 1;
        } else {
            return n * factorial(n - 1);
        }
    }
    
    • La función utiliza recursión para calcular el factorial.
    • if (n == 0): Caso base de la recursión.
    • return n * factorial(n - 1);: Llamada recursiva.
  3. Llamada a la Función:

    resultado = factorial(numero);
    

Conclusión

En esta lección, hemos aprendido los conceptos básicos de las funciones en C, incluyendo cómo declararlas, definirlas y llamarlas. Las funciones son fundamentales para escribir código modular y reutilizable. En la próxima lección, exploraremos los argumentos de función y los valores de retorno en mayor detalle.

Curso de Programación en C

Módulo 1: Introducción a C

Módulo 2: Tipos de Datos y Variables

Módulo 3: Flujo de Control

Módulo 4: Funciones

Módulo 5: Arreglos y Cadenas

Módulo 6: Punteros

Módulo 7: Estructuras y Uniones

Módulo 8: Asignación Dinámica de Memoria

Módulo 9: Manejo de Archivos

Módulo 10: Temas Avanzados

Módulo 11: Mejores Prácticas y Optimización

Módulo 12: Proyecto y Evaluación Final

© Copyright 2024. Todos los derechos reservados