GoConqr has a new look! Let us know what you think.

Notes

MEMORIA DINÁMICA

VICTOR JESUS PICEN ACOSTA Spanish 4 pages

MEMORIA DINÁMICA

Content of the notes (4)

Page 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 *)

Page 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().

Page 3

MEMORIA DINÁMICA

MEMORIA DINÁMICA

Page 4

MEMORIA DINÁMICA

Information

Description
Apunte
Views
248
Tags
h1h2h3
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?