Ayuda con Programacion

    • sangrefria
      sangrefria
      Bronce
      Registro: 09-25-2010 Artículos: 310
      Hola Compañeros, estoy estudiando ingeneria en informatica y ya estoy en mi cuarto semestre :facepalm: .. Pues tengo unas dudas con estas librerias de lenguaje C++ y pues quisiera saber si alguno que sepa me puede ayudar.

      Malloc()
      Calloc()
      Free()
      Realloc()

      Les agradeceria me dijeran como se usan o cual es su funcion? tengo 2 dias buscando en la web pero la verad no eh conseguido nada en concreto. Y los libros ni hablar.

      GRACIASSSSSSSSSSS

      P.D: Si esto irrumpe alguna regla pues que sea borrado :facepalm: .
  • 2 respuestas
    • szemog
      szemog
      Bronce
      Registro: 02-15-2010 Artículos: 26
      Buenas,

      Se por lo que estas pasando, yo tamb me las vi con C en la carrera xD

      Estas funciones nos permiten almacenar memoria:
      -Malloc()
      -Calloc()
      Estas funciones te permiten reservar una cantidad de memoria, y retornan un puntero.

      Malloc() memory allocation
      Esta función te permite reservar memoria, se recomienda usarla siempre que no sepas cuanta mem tienes que reservar, sn usarías otros métodos como declarar una var...

      int *x = malloc(sizeof(int));
      struct Estructura *x = malloc(sizeof(struct Estructura));

      entonces malloc (tamaño) te reserva esa cantidad de memory, esta quedara reservada hasta que le digas que la libere,
      para esto usamos free(), en el ejemplo anterior si usáramos free(x) estaríamos liberando la memoria.

      Usar calloc o malloc, es lo mismo, la única diferencia que le veo es que con calloc te inicializa todos los elementos a cero.

      Free()
      Como ya pudiste ver free(puntero) nos permite liberar la memoria asignada con malloc y calloc donde puntero es el puntero devuelto por malloc o calloc.

      Realloc() reallocate memory
      La función realloc intenta cambiar el tamaño de una zona de memoria previamente asignada copiando, si es posible, su contenido anterior

      Espero te sea de ayuda, cualquier cosa estaré encantado de ayudarte.

      PD: Aquí te dejo un link a las referencias de las funciones de la librería stdlib.h Link
    • sangrefria
      sangrefria
      Bronce
      Registro: 09-25-2010 Artículos: 310
      original de szemog
      Buenas,

      Se por lo que estas pasando, yo tamb me las vi con C en la carrera xD

      Estas funciones nos permiten almacenar memoria:
      -Malloc()
      -Calloc()
      Estas funciones te permiten reservar una cantidad de memoria, y retornan un puntero.

      Malloc() memory allocation
      Esta función te permite reservar memoria, se recomienda usarla siempre que no sepas cuanta mem tienes que reservar, sn usarías otros métodos como declarar una var...

      int *x = malloc(sizeof(int));
      struct Estructura *x = malloc(sizeof(struct Estructura));

      entonces malloc (tamaño) te reserva esa cantidad de memory, esta quedara reservada hasta que le digas que la libere,
      para esto usamos free(), en el ejemplo anterior si usáramos free(x) estaríamos liberando la memoria.

      Usar calloc o malloc, es lo mismo, la única diferencia que le veo es que con calloc te inicializa todos los elementos a cero.

      Free()
      Como ya pudiste ver free(puntero) nos permite liberar la memoria asignada con malloc y calloc donde puntero es el puntero devuelto por malloc o calloc.

      Realloc() reallocate memory
      La función realloc intenta cambiar el tamaño de una zona de memoria previamente asignada copiando, si es posible, su contenido anterior

      Espero te sea de ayuda, cualquier cosa estaré encantado de ayudarte.

      PD: Aquí te dejo un link a las referencias de las funciones de la librería stdlib.h Link
      Muchas gracias amigo, te eh enviado una solicitud de amistad por la comunidad.. Si tengo algun otro problema no durare en preguntarte. :D :D

      P.D: Ya te graduaste? o sigues viendo la carrera?