Manejo De Memoria
Upcoming SlideShare
Loading in...5
×
 

Manejo De Memoria

on

  • 14,063 views

menejo de memoria estatica y dinamica

menejo de memoria estatica y dinamica

Statistics

Views

Total Views
14,063
Views on SlideShare
13,841
Embed Views
222

Actions

Likes
0
Downloads
229
Comments
0

4 Embeds 222

http://claseteclerdo.blogspot.com 157
http://www.slideshare.net 61
http://mosh88.blogspot.com 3
http://a0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Manejo De Memoria Manejo De Memoria Presentation Transcript

  • MANEJO DE MEMORIA
  • Estructuras de Datos: Conceptos
    • Conjunto de datos de tipos iguales o diferentes que se relacionan entre si y que se pueden operar como un todo.
    Entero, Real, Carácter, Lógico Datos Simples Hacen referencia a un único valor a la vez en memoria Datos Estructurados Se refieren a un grupo de casillas de memoria Est á ticos Dinámicos Arreglos, Registros, Archivos, Cadenas Listas, Arboles, Grafos
  • Estructuras de Datos: Implementación
    • Para implementar algunas estructuras de datos, primero es necesario tener muy claro cómo va a ser el manejo de memoria.
    • La diferencia entre estructuras estáticas y dinámicas es el manejo de memoria.
    Estática Durante la ejecución del programa el tamaño de la estructura no cambia Dinámica Durante la ejecución del programa el tamaño de la estructura puede cambiar
  • Memoria Estática: Conceptos de Arreglos
    • Definición: Colección finita, homogénea y ordenada de elementos. Finita : Porque todo arreglo tiene un límite. Homogénea : Porque todos los elementos son del mismo tipo. Ordenada : Porque se puede determinar cuál es el enésimo elemento.
    • Un arreglo tiene dos partes: Componentes e índices
    C 1 C 2 .... C n i 0 i 1 i n Componentes Í ndices
    • Componentes : Hacen referencia a los elementos que forman el arreglo.
    • Í ndices : Permiten referirse a los componentes del arreglo en forma individual.
  • Arreglos Unidimensionales
    • Son los arreglos más simples y constan de un solo índice, también se llaman vectores .
    • Notación: Podría ser de diferentes maneras. Por ej:
    • Array [0...9] de enteros: Vector
    • Vector: x
    14 43 .... 4 x 0 x 1 x 9 Componentes Í ndices
    • X hace referencia a todo el vector, mientras que x 0 , o x 1 hace referencia los elementos en forma individual
  • Arreglos Unidimensionales
    • Los arreglos se almacenan en forma adyacente, así que su representación en memoria es:
    X 0 ,Dirección z; X 1 ,Dirección z+1; X n ,Dirección z+n
    • Cada elemento del arreglo se puede procesar como si fuera una variable simple.Ej:
    i 3
    • Sobre los vectores se pueden realizar las siguientes operaciones: Lectura / Escritura, Asignación, Actualización (insertar, eliminar, modificar), Ordenamiento y Búsqueda.
    Suma Suma + x[2] X[2] 15 X[i] 15 X[i+2] 15
  • Arreglos Bidimensionales
    • Estos arreglos constan de dos índices, también se llaman matrices .
    • Notación: Podría ser de diferentes maneras. Por ej:
    • Array [0...2, 0...2] de enteros: Matriz
    • Matriz: M
    34 43 90 0 1 2 Componentes Índices 83 2 41 56 75 3 0 1 2
    • Operaciones: Lectura, Escritura, Asignación.
  • Registros(Estructuras)
    • Un registro es una colección de datos, que pueden ser de diferentes tipos. Cada uno de sus elementos se llama Campo .
    • Notación: Podría ser de diferentes maneras. Por ej:
    • Tipo registro: Domicilio
    • Entero: Calle
    • Entero: Numero
    • Cadena: Ciudad
    • Fin Tipo
    • Domicilio: dir
    • El acceso a los campos se hace así: variable_registro.id_campo .
    • Por Ej: dir.Calle, dir.Numero, dir.Ciudad.
    Numero Ciudad Calle Domicilio
  • Arreglos y Registros
    • Se pueden presentar las siguientes combinaciones:
    • Arreglos de Registros : Cada elemento del registro es un arreglo.
    Tipo registro: Cliente Cadena : Nombre Cadena : Teléfono Real : Saldo Fin Tipo Array [0... 2 ] de Cliente : Vector Notación: Vector[0].Nombre Vector N T S N T S N T S 0 1 2
  • Arreglos y Registros
    • Registro Anidado : Por lo menos un campo del registro es de tipo registro.
    Tipo registro: Domicilio Entero: Calle Entero: Numero Cadena: Ciudad Fin Tipo Tipo registro: Cliente Cadena : Nombre Domicilio : Dirección Real : Saldo Fin Tipo Cliente Notación: Cliente.Nombre Cliente.Dirección.Calle Dirección Cll Num Ciu Nombre Saldo
  • Arreglos y Registros
    • Registro con Arreglos : Por lo menos un campo del registro es un array.
    Array [0... 2 ] de Real : Vector Tipo registro: Estudiante Cadena : Nombre Cadena: Código Vector : Notas Fin Tipo Notación: Estudiante.Nombre Estudiante. Notas[0] Estudiante Notas Nombre Código
  • Memoria Dinámica : Apuntadores
    • Las variables contienen valores específicos, las variables apuntador contienen direcciones de memoria de otras variables.
    • La variable “ptrcont” contiene la dirección de memoria de la variable “cont”
    • Las variables apuntador están asociadas a un tipo de dato. Por ej. Si el valor de cont es entero la variable apuntador ptrcont debe ser de tipo entero.
    2 cont 29DC ptrcont
  • Apuntadores
    • Operadores : Una variable apuntador responde a dos operadores:
      • Operando de Dirección(&) : Que devuelve la dirección de su operando. Por ej:
        • Entero Y, *ptry
        • Y 5
        • Ptry &Y
      • Operando de Indirección(*) : Que devuelve el alias de su operando. Por ej:
        • Entero Y, *ptry
        • Y 5
        • Ptry &Y
        • Escribir(*Ptry)
  • Asignación de Memoria Dinámica
    • Es el proceso por el cual a una estructura, sea cual fuere, se le coloca a apuntar una variable del mismo tipo y sobre ese apuntador se reserva o se libera memoria de acuerdo a si la estructura crece o decrece.