[Estructura De Datos] Memoria, Pilas Y Colas
Enviado por irollx • 31 de Agosto de 2014 • 808 Palabras (4 Páginas) • 382 Visitas
Manejo de memoria
Memoria: Es una zona de almacenamiento organizada en unidades individuales (celdas). La acción de guardar información en memoria se llama “Acceso de escritura” y a la acción de recuperar la información se le llama “Acceso de lectura” y estos accesos son coordinados por la Unidad de Control.
Todas las variables, arreglos y objetos en general tienen una duración determinada durante el transcurso de un programa, esto quiere decir que son creados y destruidos de acuerdo a la ejecución del programa.
1.-Memoria Estática: Son aquellas en las que se asigna una cantidad fija de memoria cuando se declara la variable. Se utiliza para las variables globales y las declaradas como estáticas, tales objetos tienen asignada la misma dirección de memoria desde el comienzo hasta el final del programa.
• Variables globales
• Variables static
2.-Memoria Automática: Es la utilizada por los argumentos y las variables locales en una función o procedimiento, cada ejecución de este crea tales objetos y son destruidos al salir de ellos.
• Argumentos
• Variables locales
3.-Memoria Dinámica: Son aquellas cuya ocupación de memoria puede aumentar o disminuir en tiempo de ejecución. Es también llamado almacenamiento libre y en estos casos el programador solicita memoria para almacenar un objeto y es el responsable de liberar tal memoria para que pueda ser reutilizada por otros objetos.
La operación de reservar y liberar memoria para variables globales estáticas o globales son realizadas de modo implícito por el programa, la única que realiza el programador directamente es la de reservar memoria de forma dinámica.
Memoria estática: Es la memoria que se reserva en el momento de la compilación antes de comenzar a ejecutarse el programa. Los objetos mantienen la misma localización en memoria durante todo el transcurso del programa. Los objetos administrados de este modo son variables globales, variables static de funciones y miembros static de clases y literales de cualquier tipo.
Memoria dinámica: La reserva de memoria dinámica se hace en tiempo de ejecución después de leer los datos y de conocer el tamaño exacto del problema. Como consecuencia se adapta mucho mejor a las necesidades en cada caso. El sitio donde se almacenan los objetos se denominan en ingles heap o free store traducido como montículo o memoria libre, y el sitio preciso donde se encuentre depende del compilador y el tipo de puntero utilizado. La creación y destrucción de los objetos está en manos del programador a través de los operadores new y delete.
Ventajas de utilizar memoria dinámica vs memoria estática La memoria dinámica sirve para que los programadores se adapten siempre al tamaño del problema que tienen que resolver sin desperdiciar recursos de memoria y esto se traduce en una mayor eficiencia en la ejecución de los programas,
...