Monday, October 13, 2008

Unidad II Manejo de Memoria

Manejo de memoria

Todas las variables, arreglos y objetos en general tienen una duración determinada en el transcurso de un programa. Son creados y destruidos para su uso y después para que la memoria sea liberada para que la utilicen otros objetos.
En C# existen tres formas de usar la memoria para almacenar valores:

a) Memoria Estática: Es la utilizada por variables globales y las declaradas de tipo Static. Estos objetos tienen asignada la misma dirección de memoria desde el comienzo hasta el final del programa.

b) Memoria Automática: Es la utilizada por Argumentos en una función y por las variables locales. Cada entrada en la función crea estos objetos y son destruidos al salir de ella.

c) Memoria Dinámica: Es también llamado almacenamiento libre porque en este caso el programador es el que solicita memoria para crear los objetos y es el responsable de liberar la memoria cuando ya no la necesita para ser reutilizada.

La reserva y liberación para variables globales, estáticas, locales y argumentos son realizadas en forma implícita por el programa, la única que requiere intervención del programador es la reserva y liberación de memoria dinámica.

No comments: