La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Laboratorio de programación

Presentaciones similares


Presentación del tema: "Laboratorio de programación"— Transcripción de la presentación:

1 Laboratorio de programación
Luisa Fernanda Rincón Pérez 2015-2

2 Sesión 14. Memoria dinámica – matrices memoria dinámica

3 ¿Qué vimos la clase pasada?
Matrices con structs, arreglos con structs Memoria dinámica malloc Memoria dinámica free

4 Anuncios Investigar para que sirve la operación calloc

5 ¿Qué haremos hoy? Memoria dinámica con arreglos
Memoria dinámica con matrices

6 Memoria dinámica Matrices - arreglos

7 Array con memoria dinámica
Declarar un puntero a un array Definir el tamaño del array Definir el tamaño a reservar de la memoria numeroDatos * tamaño tipo de dato

8 Matrices dinámicas

9 Declaración estática int matriz [5] [10];
Matrices dinámicas Declaración estática int matriz [5] [10]; Declaración dinámica int ** matriz; int * matriz []

10 ¿Cómo asignar memoria dinámicamente en matrices?
Asignar memoria a una matriz de punteros, cuyos elementos referenciarán cada una de las filas de la matriz de dos dimensiones que se desea crear. Asignar memoria para cada una de las filas. El numero de elementos de cada fila puede ser variable.

11 ¿Cómo es una matriz dinámica?
Apuntador a apuntadores int ** pMatriz M0, m1 y m2 contienen direcciones Arreglo de arreglos

12 ¿Cómo se reserva la memoria dinámica para una matriz?

13 Ejemplo

14 Ejemplo ¿Por qué se retorna un doble apuntador?
¿Qué pasa si se retorna un int? ¿Qué pasa si se retorna un int *?

15 Llenar y mostrar una matriz dinámica

16 Completo: separar memoria, llenar, mostrar, liberar

17 Errores frecuentes en el manejo de memoria
No comprobar errores de asignación.  La asignación de memoria no está garantizada que tenga éxito Pérdidas de memoria.  Si no se desasigna memoria se desperdician recursos que originan errores de asignación cuando se hayan agotado esos recursos. Errores lógicos.  Incumplir secuencia: asignar con malloc, uso, liberar con free.


Descargar ppt "Laboratorio de programación"

Presentaciones similares


Anuncios Google