¡GoConqr estrena diseño! Cuéntanos qué te parece.

Apuntes

MEMORIA DINÁMICA

VICTOR JESUS PICEN ACOSTA Español 4 páginas

MEMORIA DINÁMICA

Contenido del apunte (4)

Página 1

Módulo de Gestión de la Asignación Dinámica de C

Todos los programas definen variables que pueden ser definidas como globales y locales.

•Las variables globales y de el programa principal (main) se almacenan

en posiciones fijas de la memoria llamada memoria de datos

También se pueden declarar variables estáticas locales que también sea lmacenanensegmentosfijosdememoriaoenlamemoriadedatos,sin

embargo, también están disponibles en la función que las declaro.

En la <stdlib.h> están

definidas las siguientes funciones:

void *calloc(size_t nobj, size_t size)

calloc obtiene (reserva) espacio en memoria para alojar un vector (una colección) de nobj objetos, cada uno de ellos de tamaño size. Si no hay memoria disponible se devuelve NULL. El espacio reservado se inicializa a bytes de ceros.

Obsérvese que calloc devuelve un (void *) y que para asignar la memoria que devuelve a un tipo Tipo_t hay que utilizar un operador de ahormado: (Tipo_T *)

Página 2

void *malloc(size_t size)

malloc funciona de forma similar a calloc salvo que: a) no inicializa el espacio y b) es necesario saber el tamaño exacto de las posiciones de memoria solicitadas.

void *realloc(void *p, size_t size)

realloc cambia el tamaño del objeto al que apunta p y lo hace de tamaño size. El contenido de la memoria no cambiará en las posiciones ya ocupadas. Si el nuevo tamaño es mayor que el antiguo, no se inicializan a ningún valor las nuevas posiciones. En el caso en que no hubiese suficiente memoria para “realojar” al nuevo puntero, se devuelve NULL y p no varía.

El puntero que se pasa como argumento ha de ser NULL o bien un puntero devuelto por malloc(), calloc() o realloc().

void free(void *p)

free() libera el espacio de memoria al que apunta p. Si p es NULL no hace nada.

Además p tiene que haber sido “alojado” previamente mediante malloc(), calloc() o realloc().

Página 3

MEMORIA DINÁMICA

MEMORIA DINÁMICA

Página 4

MEMORIA DINÁMICA

Información

Descripción
Apunte
Visitas
248
Etiquetas
h1h2h3
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?