BUSCAR
INDICE
INDICE DEL TEMA
OBJETIVOS
TEORIA
PALABRAS RESERVADAS
GLOSARIO
EJERCICIOS
RESUELTOS
AUTOEVALUACION
PROPUESTOS
ERRORES
ESTADISTICAS
INICIO
FAQS
LINKS
RECOMIENDANOS
QUIENES SOMOS
MAPA DEL WEB
COLABORAR
Tema 16 Estructuras de Datos
Teoría 16.3: Asignación dinámica de memoria

La creación y el mantenimiento de estructuras dinámicas de datos, requiere de la asignación dinámica de memoria, es decir, la capacidad por parte de un programa de obtener, en tiempo de ejecución más espacio de memoria para contener nuevos nodos, y poder liberar espacio ya no requerido.

Las funciones malloc y free y el operador sizeof, son esenciales en la asignación dinámica de memoria. La función malloc toma como argumento el número de bytes a asignarse , y regresa un apuntador de tio void* (apuntador a void) a la memoria asignada.

newPtr = malloc(sizeof(struct node));

Este enuciado evalua sizeof(struct node) para determinar el tamaño en bytes de una estructura de tipo struct node, asigna en memoria una nueva área de tamaño sizeof(struct node) bytes, y almacena en la variables newPtr un apuntador a la memoria asignada. Si no existe memoria disponible, malloc regresa NULL.

Para liberar la memoria asignada dinámicamente mediante una llamada malloc previa, utilice un enunciado

free (newPtr);