Programación General => C/C++ => Mensaje iniciado por: Rataman en Lunes 7 de Junio de 2004, 14:37
Título: Calloc Vs Malloc
Publicado por: Rataman en Lunes 7 de Junio de 2004, 14:37
Buenas, he utilizado la busqueda para ver si habia algun tema para hacer matrices dinamicas, y he encontrado uno para hacerlo con la funcion calloc(). Y por otra parte he mirado en un libro de C y he visto que se puede hacer con malloc().
Mi duda es que no se la diferencia real entre estas dos funciones, y me gustaria saber si existe en C++ una manera diferente de hacer matrices dinamicas :hola:
Título: Re: Calloc Vs Malloc
Publicado por: Jevi en Lunes 7 de Junio de 2004, 15:16
Cita de: "Rataman"
Mi duda es que no se la diferencia real entre estas dos funciones
Hola,
respondiendo a la duda de las diferencias entre malloc y calloc
Por lo que yo se las diferencias principales, a parte de la sintaxis:
* malloc no inicializa la porción de memoria asignada y calloc si. * malloc asigna memoria para un sólo objeto. El tamaño de la memoria a adjudicar se indica en la función (void *malloc(size_t tamanyo);). calloc asigna memoria para un array de elementos especificados en la función ()void *calloc(size_t nmemb, size_t tamanyo);. El tamaño de la memoria a adjudicar se indica en la función.
Las dos funciones retornan un puntero nulo (en caso de error) o un puntero a la posición de memoria utilizada.
Espero que esto te sirva de algo.
Título: Re: Calloc Vs Malloc
Publicado por: Rataman en Lunes 7 de Junio de 2004, 15:28
:smartass: gracias
Título: Re: Calloc Vs Malloc
Publicado por: Noel Solw en Lunes 7 de Junio de 2004, 15:42
Con respecto a tu pregunta, en C++ suele usarse new y delete.
Título: Re: Calloc Vs Malloc
Publicado por: Rataman en Martes 8 de Junio de 2004, 21:02
Ya he encontrado como hacer una matriz dinamica en C++, por si a alguien le interesa:
Código: Text
#include <iostream.h>
#include <stdlib.h>
main()
{
int x,y,**matriz;
cout<<"Indica el tamaño del tablero: ";
cin>>x>>y;
matriz=new int*[x];
for(int i=0;i<=x;i++)
matriz[i]=new int[y];
}
Título: Re: Calloc Vs Malloc
Publicado por: Eternal Idol en Miércoles 9 de Junio de 2004, 13:56
new y delete solo tienen sentido para crear objetos ya que el compilador llama a su constructor/destructor; el operador new en si no es más que un wrapper de malloc (que a su vez en Windows es un wrapper de HeapAlloc).