Red de Respuestas Legales - Derecho empresarial - La diferencia entre montón y pila en la asignación de memoria del programa C\C++. ppt

La diferencia entre montón y pila en la asignación de memoria del programa C\C++. ppt

La pila es un área de almacenamiento de variables que el compilador asigna cuando es necesario y se borra automáticamente cuando no es necesario. Las variables internas suelen ser variables locales, parámetros de función, etc.

El montón es un bloque de memoria asignado por new, y su liberación está controlada por nuestra aplicación en lugar del compilador. Generalmente, nuevo corresponde a eliminación. Si el programador no lo libera, el sistema operativo lo reciclará automáticamente una vez finalizado el programa.

El área de almacenamiento libre es un bloque de memoria asignado por malloc, etc. Es muy similar a un montón, pero termina su vida como gratuito.

El área de almacenamiento global/estático, las variables globales y las variables estáticas se asignan a la misma memoria. En el lenguaje C anterior, las variables globales se dividían en inicializadas y no inicializadas. En C++ no existe tal distinción, ocupan la misma área de memoria.

El área de almacenamiento de constantes es un área de almacenamiento especial que contiene constantes y no se puede modificar (por supuesto, también puede modificarla por medios inadecuados. Hay muchos métodos. En el artículo Const Thinking, dio seis métodos)

Distinga claramente entre montón y pila.