Diferencia entre revisiones de «Memoria Dinámica»

De Proyectos
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Sin resumen de edición
 
(No se muestran 2 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
= Calloc =
= Características =
*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>
 
= Para C/C++ =
== Calloc ==


  void *calloc(size_t nobj, size_t size)
  void *calloc(size_t nobj, size_t size)
Malloc:
== Malloc ==
*Función para reservar la memoria.
*Función para reservar la memoria.
*Devuelve la primera dirección de la parte reservada. Esta dirección se guarda en un puntero.
*Devuelve la primera dirección de la parte reservada. Esta dirección se guarda en un puntero.
Línea 9: Línea 16:
  puntero = (tipo_de_variable *) malloc( número de bytes a reservar );
  puntero = (tipo_de_variable *) malloc( número de bytes a reservar );


= Realloc =
== Realloc ==
*Cambia el tamaño de la memoria reservada
*Cambia el tamaño de la memoria reservada
*El contenido de la memoria no cambia de las posiciones ya ocupadas
*El contenido de la memoria no cambia de las posiciones ya ocupadas
Línea 18: Línea 25:




= Fee =
== Free ==
*Función que sirve para liberar la memoria asignada
*Función que sirve para liberar la memoria asignada
  free(puntero);
  free(puntero);
= C++ =
== New ==
== Delete ==
= Diferencias =

Revisión actual - 09:33 8 mar 2013

Características

[editar]
  • 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>

Para C/C++

[editar]

Calloc

[editar]
void *calloc(size_t nobj, size_t size)

Malloc

[editar]
  • 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 );

Realloc

[editar]
  • 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)


Free

[editar]
  • Función que sirve para liberar la memoria asignada
free(puntero);

C++

[editar]

New

[editar]

Delete

[editar]

Diferencias

[editar]