Menu
Coddy logo textTech

Archivos de cabecera

Parte de la sección Object Oriented Programming del Journey de C de Coddy — lección 1 de 61.

A medida que los programas en C se vuelven más grandes, mantener todo el código en un solo archivo se vuelve inmanejable. Los archivos de cabecera proporcionan una forma de organizar su código al separar qué hace una función de cómo lo hace.

Un archivo de cabecera (con la extensión .h) contiene declaraciones de función (también llamadas prototipos). Estas declaraciones le indican al compilador que una función existe y qué parámetros recibe, sin proporcionar la implementación real.

// math_utils.h
int add(int a, int b);

Para usar declaraciones de un archivo de cabecera, se incluye con la directiva #include. Para sus propias cabeceras, use comillas dobles en lugar de corchetes angulares:

// main.c
#include "math_utils.h"

int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(5, 3);
    return 0;
}

La diferencia clave: #include <stdio.h> busca en los directorios del sistema, mientras que #include "math_utils.h" busca primero en la carpeta de tu proyecto. Esta separación permite que múltiples archivos compartan las mismas declaraciones de funciones, haciendo que tu base de código sea más fácil de navegar y mantener.

Hoja de referencia

Los archivos de cabecera (con extensión .h) contienen declaraciones de funciones que le indican al compilador que una función existe sin proporcionar su implementación:

// math_utils.h
int add(int a, int b);

Incluya sus propios archivos de cabecera utilizando comillas dobles:

// main.c
#include "math_utils.h"

int add(int a, int b) {
    return a + b;
}

#include <stdio.h> busca en los directorios del sistema, mientras que #include "math_utils.h" busca primero en la carpeta de su proyecto.

Pruébalo tú mismo

Esta lección no incluye un desafío de código.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Object Oriented Programming