Manejo
de memoria estática y dinámica
·
Memoria Estática:
Desde
la compilación reservan un espacio fijo de elementos, se guarda en el disco
duro de una forma adyacente.
·
Memoria Dinámica:
En
la ejecución varia el número de elementos y uso de memoria a lo largo del
programa.
Esta
memoria se puede pedir en cualquier momento de la ejecución con una llamada a
malloc Memory Allocation
La
memoria dinámica es el que se puede modificar o hacer cambios en el tiempo en
que se está ejecutando el programa
La
memoria dinámica se guarda en el disco duro donde puede encontrar espacio o
donde se pueda ubicar.
Características:
·
Memoria Estática:
Se
define explícitamente al declarar una variable, ya sea global o local
El
compilador genera automáticamente el espacio de memoria
-Se
mantiene fija durante toda la vida de la variable (independientemente de que se
utilice o no)
·
Memoria Dinámica:
-Utiliza
una parte de la memoria principal denominada heap
-Apoya
el uso eficiente de la memoria durante la ejecución
-Requiere
apuntadores que almacenen direcciones de memoria real, dado que estas se
asignan dinámicamente.
Estructura
de Datos
Hay
sólo unos pocos tipos básicos de estructuras de datos: arrays, listas y
árboles. Todo lo demás puede estar compuesto mediante el uso de tipos diferentes
de estas dos estructuras (por ejemplo, una tabla hash se puede implementar con
una matriz de los valores de hash y una lista para cada valor de hash para
manejar colisiones).
De
estas estructuras, las matrices son estáticas (es decir, su huella de memoria
no varía con el tiempo a medida que las operaciones se realizan sobre ellos) y
todo lo demás es dinámico (es decir, en el caso general los cambios de consumo
de memoria).
Ventajas
y Desventajas
·
Memoria Estática:
Ventajas:
-
la memoria estática tiene las siguientes ventajas:
-
Tiene una lógica simple
-
Es óptima para resolver pequeños y medianos problemas
Desventajas:
-
No se puede cambiar en ejecución
-
No es óptima
-
Se hace desperdicio de memoria cuando no se guarda el tamaño determinado
·
Memoria Dinámica:
Ventajas:
-
El tamaño de la estructura no interfiere en el tamaño
-
Se guarda donde encuentra espacio
-
No hace falta darle el tamaño
Desventajas:
No
se conoce con anticipación el espacio que memoria que se va ocupar
Bibliografía
Estructuras
de datos: Referencia practica con orientación a objetos
Autores:
Román Martínez, Elda Quiroga
Editorial:
Cengage Learning Editores
Differences
between Static & Dynamic data structures
www.Stackoverflow.com
UNAM
http://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCAQFjAA&url=http%3A%2F%2Faprender.fca.unam.mx%2F~rcastro%2Fprogmemoria.ppt&ei=qtw2UJzfIMjsrQHNtYF4&usg=AFQjCNG0UCsiml7okE7xChB4vsRrjPUxKg&sig2=RFuVHbUisq12UgrnwZ7Wcg
http://www.programacionfacil.com/estructura_de_datos:manejo_de_memoria
No hay comentarios:
Publicar un comentario