Descargar la presentación
La descarga está en progreso. Por favor, espere
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.
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.