Anuncios

Bienvenidos sean a este post, hoy veremos los primeros conceptos de ubicacion de memoria.

Anuncios

Hasta ahora cada vez que mencionamos de trabajar con memoria hemos dicho que todos los elementos estan en memoria y dependiendo de su tipo reservan un espacio en memoria para poder trabajar, hasta aca siempre dijimos que era «automatico» pero es una verdad a medias, porque en realidad esto lo hacemos mediante las clases de almacenamiento, las cuales las hemos estado usando sin darnos cuenta, y podemos decir que principalmente se componen de dos clases:

  • Automatica
  • Estatica
Anuncios

Si bien no son las unicas, estas son las bases para manejar las ubicaciones en memoria, por esta razon hablaremos de las primeras dos categorias principales.

Anuncios

Ubicacion de almacenamiento fijo

Esto significa que esta ubicada en la direccion donde esta declarada, todo ellos tienen un nombre y son los identificadores de las variables que estuvimos utilizando, este almacenamiento incluye tanto a la clase automatica como estatica, hasta este momento hemos utilizado siempre el tipo dinamico tanto para declararla como al iniciarla, pero un poco mas adelante comenzaremos a hablar sobre como hacerla de forma estatica.

Anuncios

Ubicacion de almacenamiento dinamico

Este significa que la ubicacion es bajo demanda y solo puede ser referenciada mediante un apuntador, este apuntador puede ser uno fijo, variable de apuntador con nombre, o parte de otra estructura dinamica.

Anuncios

Anuncios

Dos propiedades de las clases son su visibilidad o como lo denominamos hasta ahora, rango (scope), ya sea dentro del programa o un bloque asi como su ciclo de vida o cuanto tiempo estara almacenadoo en memoria, a su vez en ls categoria de almacenamiento fijo tenemos dos sub-categorias:

  • Ubicacion de almacenamiento interno, este es el almacenamiento declarado en el contexto de un bloque de una funcion o declaracion compuesta, por lo cual podemos decir que tiene tanto un rango limitado como un ciclo de vida limitado
  • Ubicacion de almacenamiento externo, este es el almacenamiento declarado por fuera del bloque de la funcion, por lo cual tendra un rango y ciclo de vida mas amplio que el anterior.
Anuncios

Con todo esto hemos trabajado sin saberlo.

Anuncios
Anuncios

Esto es asi porque cuando hemos declarado variables hemos utilizado la asignacion de almacenamiento nombrado o fijo, dado que cada vez que lo hicimos le dimos un espacio en memoria a ese tipo y lo asociamos a un nombre, todo esto principalmente a traves de las rutinas del main, con esto realizado podremos acceder a ella en cualquier momento del codigo ya sea directamente, via nombre, o bien indicrectamente, via apuntador, otro tema son los valores literales (aquellos que pasamos directamente) dado que el compilador interpreta estos valores y las pone direcctamente en el codigo, fijandolas en el lugar donde fueron declaradas, la memoria que utilizan es la del programa mismo, sobre el tipo dinamico hablaremos mas adelante.

Anuncios

Almacenamiento automatico

Este significa que la memoria es ubicada por el compilador de manera precisa ya sea un literal, variable, array u otra estructura, algo un poco menos claro es para cuando declaremos un parametro formal para una funcion, esta se desasigna automaticamente en puntos y otros bien conocidos dentro del programa.

Anuncios

Almacnamiento dinamico

Si lo comparamos con los de tipo fijo este es una ubicacion sin nombre o solo puede ser accedida mediante apuntadores, estas son librerias especiales de funciones para ubicar y quitar memoria dinamica, pero este tipo es tan especial que requiere mucho mas cuidado y de eso hablaremos mas adelante.

Anuncios

En resumen, hoy hemos visto que las clases de almacenamiento, porque las hemos utilizado sin saberlo, como se componen, algunas ventajas y caractereisticas y algunos temas introductorios pero que nos adentraremos en todo ello mas adelante, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios
pp258

Donación

Es para mantenimento del sitio, gracias!

$1.50