Diferencia entre revisiones de «Memoria Dinámica»
Ir a la navegación
Ir a la búsqueda
Sin resumen de edición |
Sin resumen de edición |
||
| Línea 1: | Línea 1: | ||
*No tenemos que saber cuanto espacio ocupara una variable, por ejemplo una cadena de caracteres no hace falta saber cuantos caracteres ocupará | |||
*Se aprovecha mejor el espacio de la memoria porque solo se usa la que se necesita | |||
*Para poder usar las funciones relacionadas con la memoria dinámica se tiene que incluir la siguiente libreria | |||
#include <stdlib.h> | |||
= Calloc = | = Calloc = | ||
| Línea 8: | Línea 13: | ||
puntero = (tipo_de_variable *) malloc( número de bytes a reservar ); | puntero = (tipo_de_variable *) malloc( número de bytes a reservar ); | ||
== HOLA == | |||
= Realloc = | = Realloc = | ||
*Cambia el tamaño de la memoria reservada | *Cambia el tamaño de la memoria reservada | ||
Revisión del 09:31 8 mar 2013
- No tenemos que saber cuanto espacio ocupara una variable, por ejemplo una cadena de caracteres no hace falta saber cuantos caracteres ocupará
- Se aprovecha mejor el espacio de la memoria porque solo se usa la que se necesita
- Para poder usar las funciones relacionadas con la memoria dinámica se tiene que incluir la siguiente libreria
#include <stdlib.h>
Calloc
void *calloc(size_t nobj, size_t size)
Malloc:
- Función para reservar la memoria.
- Devuelve la primera dirección de la parte reservada. Esta dirección se guarda en un puntero.
- Si no hay espacio libre la función devuelve NULL
puntero = (tipo_de_variable *) malloc( número de bytes a reservar );
HOLA
Realloc
- Cambia el tamaño de la memoria reservada
- El contenido de la memoria no cambia de las posiciones ya ocupadas
- Si no hay mas memoria se devuelve NULL pero el puntero no varia
- El puntero que se paasa a realloc ha de ser NULL o devuelto por malloc(), calloc() o realloc()
void *realloc(void *p, size_t size)
Fee
- Función que sirve para liberar la memoria asignada
free(puntero);