Menu
Coddy logo textTech

Memoria Stack vs. Heap

Parte de la sección Lógica y Flujo del Journey de C de Coddy. Lección 31 de 63.

Cuando se ejecuta tu programa en C, utiliza dos regiones de memoria distintas: la pila y el montón. Comprender la diferencia entre estas áreas de memoria es fundamental para programar eficazmente en C, especialmente al trabajar con punteros y asignación dinámica de memoria.

La pila se utiliza para la asignación estática de memoria. Aquí es donde se almacenan tus variables locales, parámetros de funciones e información sobre las llamadas a funciones. La pila se gestiona automáticamente mediante el sistema: cuando declaras una variable local, se asigna memoria en la pila y, cuando la variable sale de ámbito, esa memoria se libera automáticamente.

void function() {
    int x = 10;  // Asignado en la pila
    char arr[100];  // También asignado en la pila
    // La memoria se libera automáticamente cuando la función termina
}

El heap se utiliza para la asignación dinámica de memoria. Este es un grupo de memoria más grande que puedes solicitar durante la ejecución del programa.

A diferencia de la pila, el montón requiere una gestión manual: debes solicitar memoria explícitamente y liberarla más tarde cuando hayas terminado. Esto te brinda más control, pero también más responsabilidad.

La diferencia clave es la gestión: la memoria de pila es automática y limitada en tamaño, mientras que la memoria del montón es manual y mucho más grande. En las próximas lecciones, aprenderás a trabajar con la memoria del montón utilizando funciones como malloc() y free().

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 Lógica y Flujo

Practica por tu cuenta: Compilador de C online