Documente Academic
Documente Profesional
Documente Cultură
ASIGNACIN DE MEMORIA DINAMICA Asignacin dinmica de la memoria es la asignacin de almacenamiento de memoria para utilizacin por parte de un programa de computador durante el tiempo de ejecucin de ese programa. Es una manera de distribuir la propiedad de recursos de memoria limitada entre muchas piezas de cdigo y datos. Un objeto asignado dinmicamente permanece asignado hasta que es desasignado explcitamente, o por el programador o por un recolector de basura; esto es notablemente diferente de la asignacin automtica de memoria y de la asignacin esttica de memoria (la de las variables estticas). Se dice que tal objeto tiene tiempo de vida dinmico DATOS ESTATICOS Y DINAMICOS Datos estticos: su tamao y forma es constante durante la ejecucin de un programa y por tanto se determinan en tiempo de compilacin. El ejemplo tipico son los arrays. Tienen el problema de que hay que dimensionar la estructura de antemano, lo que puede conllevar desperdicio o falta de memoria.
Estructura de Datos
Datos dinmicos: su tamao y forma es variable (o puede serlo) a lo largo de un programa, por lo que se crean y destruyen en tiempo de ejecucin. Esto permite dimensionar la estructura de datos de una forma precisa: se va asignando memoria en tiempo de ejecucin segn se va necesitando. Cuando el sistema operativo carga un programa para ejecutarlo y lo convierte en proceso, le asigna cuatro partes lgicas en memoria principal: texto, datos (estticos), pila y una zona libre. Esta zona libre (o heap) es la que va a contener los datos dinmicos, la cual, a su vez, en cada instante de la ejecucin tendr partes asignadas a los mismos y partes libres que fragmentaran esta zona, siendo posible que se agote si no se liberan las Partes utilizadas ya inservibles. (La pila tambin varia su tamao dinmicamente, pero la gestiona el sistema operativo, no el programador): Para trabajar con datos dinmicos necesitamos dos cosas: 1. Subprogramas predefinidos en el lenguaje que nos permitan gestionar la memoria de forma dinmica (asignacin y liberacin). 2. Algn tipo de dato con el que podamos acceder a esos datos dinamicos (ya que con los tipos vistos hasta ahora solo podemos acceder a datos con un tamao y forma ya determinados).