Mind map
Reserva dinámica de memoria para los miembros de una estructura con la biblioteca alloc.h
Map content
Reserva dinámica de memoria para los miembros de una estructura con la biblioteca alloc.h
Objetivo
- En esta práctica el alumno aprenderá el uso de memoria dinámica con la librería alloc.h
- así como la utilización de algunos de sus métodos.
- En esta práctica el alumno aprenderá el uso de memoria dinámica con la librería alloc.h
Memoria dinámica
- Es cuando se reserva memoria en tiempo de ejecución.
- Su principal diferencia frente a la estática es que su tamaño puede variar durante la ejecución del programa.
- El uso de memoria dinámica es necesario cuando no se conoce de antemano el número de datos o elementos a tratar.
- Su principal diferencia frente a la estática es que su tamaño puede variar durante la ejecución del programa.
- Es cuando se reserva memoria en tiempo de ejecución.
Biblioteca alloc.h
- El fichero de cabecera alloc.h proporciona funciones relativas a la asignación de memoria dinámica.
Función malloc
- La función malloc() es la forma más habitual de obtener bloques de memoria dinámica.
- La función genera o asigna un bloque de memoria igual al número de bytes pasados como argumento.
- void*= malloc(tam) ;
- Donde:
- void* : es el apuntador que almacenará la referencia al bloque de memoria generado.
- tam : es el tamaño en bytes del bloque de memoria que se va a solicitar.
- Donde:
- void*= malloc(tam) ;
- La función genera o asigna un bloque de memoria igual al número de bytes pasados como argumento.
- La función malloc() es la forma más habitual de obtener bloques de memoria dinámica.
sizeof(tipo_de_dato) .
- Es otra función importante utilizada para reservar memoria dinámica
- Esta función permite reservar el número de bytes especificados en el argumento tipo de dato
- int * ptr; ptr=(int*) malloc(10*sizeof(int)) ;
- En caso de no haber memoria suficiente malloc() devuelve el valor NULL
- Por lo que siempre es conveniente preguntar si se asignó el bloque de memoria después esta operación.
- En caso de no haber memoria suficiente malloc() devuelve el valor NULL
- int * ptr; ptr=(int*) malloc(10*sizeof(int)) ;
- Esta función permite reservar el número de bytes especificados en el argumento tipo de dato
- Es otra función importante utilizada para reservar memoria dinámica
Uso de la función free
- Cuando se termina de utilizar un bloque de memoria reservado con malloc() , se debe liberar el espacio de memoria utilizado
- void free (void * ptr) ;
- Dónde: *ptr es el apuntador que hace referencia al bloque de memoria asignado. Si ptr es NULL , entonces free no hace nada.
- void free (void * ptr) ;
- Cuando se termina de utilizar un bloque de memoria reservado con malloc() , se debe liberar el espacio de memoria utilizado
Information
- Description
- Practica 4
- Created by
- Alejandro Barajas · Feb 2017
- Updated
- Feb 17, 2017
- Views
- 22
- Tags
- Rating