Memoria dinamica

Solo disponible en BuenasTareas
  • Páginas : 4 (776 palabras )
  • Descarga(s) : 0
  • Publicado : 2 de septiembre de 2012
Leer documento completo
Vista previa del texto
Memoria Dinámica
¿Qué es la memoria dinámica?
Supongamos que nuestro programa debe manipular estructuras de datos de longitud desconocida. Un ejemplo simple podría ser el de un programa que leelas líneas de un archivo y las ordena. Por tanto, deberemos leer un número indeterminado de líneas, y tras leer la última, ordenarlas. Una manera de manejar ese ``número indeterminado'', sería declararuna constante MAX_LINEAS, darle un valor vergonzosamente grande, y declarar un array de tamaño MAX_LINEAS. Esto, obviamente, es muy ineficiente (y feo). Nuestro programa no sólo quedaría limitado porese valor máximo, sino que además gastaría esa enorme cantidad de memoria para procesar hasta el más pequeño de los ficheros.
La solución consiste en utilizar memoria dinámica. La memoria dinámicaes un espacio de almacenamiento que se solicita en tiempo de ejecución. De esa manera, a medida que el proceso va necesitando espacio para más líneas, va solicitando más memoria al sistema operativopara guardarlas. El medio para manejar la memoria que otorga el sistema operativo, es el puntero, puesto que no podemos saber en tiempo de compilación dónde nos dará huecos el sistema operativo (en lamemoria de nuestro PC).

Memoria Dinámica.
Sobre el tratamiento de memoria, GLib dispone de una serie de instrucciones que sustituyen a las ya conocidas por todos malloc, free, etc. y, siguiendocon el modo de llamar a las funciones en GLib, las funciones que sustituyen a las ya mencionadas son g_malloc y g_free.
“MANEJO DINÁMICO DE MEMORIA”
Las áreas de datos asignadas hasta el momento alas variables se han hecho en forma “ESTÁTICA”; es decir, áreas que se asignan desde el momento de la compilación y permanecen asignadas durante el ciclo de vida del programa, así no se utilicen.
Unárea de datos es asignada dinámicamente cuando su existencia y permanencia a lo largo de un programa depende exclusivamente del programador y no de la máquina.
El asignamiento dinámico se hace a...
tracking img