Sie sind auf Seite 1von 2

Glosario de Estructura de Datos

malloc: La función malloc reserva un bloque de memoria y devuelve un puntero void al inicio de la
misma. Tiene la siguiente definición:
void *malloc(size_t size);
donde el parámetro size especifica el número de bytes a reservar. En caso de que no se pueda realizar
la asignación, devuelve el valor nulo (definido en la macro NULL), lo que permite saber si hubo errores
en la asignación de memoria. Funcion utilizada en C

free: La función free sirve para liberar memoria que se asignó dinámicamente. Si el puntero es
nulo, free no hace nada. Además existe la función cfree, que sirve para liberar memoria de los
elementos que han sido reservados con calloc(). Tienen la siguiente definición:

void free(void *ptr); void cfree (void *ptr);

El parámetro ptr es el puntero a la memoria que se desea liberar. Funcion utilizada en C

new: Proporciona espacio de almacenamiento persistente, similar pero superior a la función de librería
estándar malloc. Este operador permite crear un objeto de cualquier tipo, incluyendo tipos definidos
por el usuario, y devuelve un puntero (del tipo adecuado) al objeto creado. Su utilización exige que el
usuario declarare un puntero del tipo adecuado; a continuación, debe ser inicializado con el valor
devuelto por el operador. Ventaja superior de C++ sobre C.

delete: El operador delete se usa para liberar la memoria dinámica reservada con new. La expresión
será normalmente un puntero, el operador delete[] se usa para liberar memoria de arrays dinámicos.
Es importante liberar siempre usando delete la memoria reservada con new. Existe el peligro de
pérdida de memoria si se ignora esta regla.
Cuando se usa el operador delete con un puntero nulo, no se realiza ninguna acción. Esto permite
usar el operador delete con punteros sin necesidad de preguntar si es nulo antes. Es similar pero
superior a la función de librería estándar free.
¿Cómo liberar memoria en C?:
El lenguaje C implemente el tipo de gestión manual, es decir que cada programa debe pedir y liberar
memoria manualmente. Para esto se utilizan las funciones malloc() para pedir memoria y free() para
liberar memoria.

free(miPuntero);

¿Cómo liberar memoria en C++?:

Para liberar memoria, en C++ utilizamos las funciones cargadas en las librerías de C++.
El operador delete (palabra clave) ofrece una liberación dinámica de memoria, desasignando un
bloque previamente asignado con new.

¿Cómo liberar memoria en Java?:


Java utiliza una maquina virtual, esta administra la memoria utilizada durante la ejecución de
programas. La única forma de liberar memoria en Java es confiar en el recolector de basura integrado.

¿Qué es el garbaje collector?:


El Garbage Collector (GC) administra de forma automática la memoria, ya que es el encargado de
liberar los objetos que ya no están en uso y que no serán usados en el futuro.

¿Qué significa el error Stack Overflow?:


El desbordamiento de pila o Stack Overflow, se produce un desbordamiento de la pila si el puntero de
la pila de llamadas excede el límite de la pila . La pila de llamadas puede consistir en una cantidad
limitada de espacio de direcciones , a menudo determinada al inicio del programa. El tamaño de la pila
de llamadas depende de muchos factores, incluido el lenguaje de programación, la arquitectura de la
máquina, los subprocesos múltiples y la cantidad de memoria disponible.

Das könnte Ihnen auch gefallen