asignacion dinamica de memoria

Iniciado por d91, 1 Junio 2014, 03:38 AM

0 Miembros y 1 Visitante están viendo este tema.

d91

hola a todos, he estado investigando acerca de la asignacion dinamica de memoria en c++, pero necesito encontrar la diferencia entre malloc, calloc, realloc puesto que los tres se usan para reservar bloques de memoria libre, agradecere la orientacion...

engel lex

intentaste googlearlo?

de todas formas te respondo con lo primero que conseguí en google solo escribiendo los nombres...

aqui la wiki sobre malloc está bien desarrollada con comparaciones entre las 3 funciones


y aqui los de plusplus.com
realloc
resumen: "Changes the size of the memory block pointed to by ptr."

calloc
resumen: "Allocates a block of memory for an array of num elements, each of them size bytes long, and initializes all its bits to zero."

malloc
resumen: "Allocates a block of size bytes of memory, returning a pointer to the beginning of the block.
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Drewermerc

hola amigo.
bueno yo creo que la principal diferencias es que.
malloc, calloc, realloc y free son de c.
new y delete son de c++.
y como leí anteriormente un comentario aqui que decia si estas en c usa las funciones de c  y si etas en c++ usa la funciones de c++.
buen esta es la principal difernecia que veo y bueno en cuanto funcionamiento no uso mucho c++
con respecto a las funciones de c te puedo decir.
malloc =  reserva un bloque de memoria.
calloc =  reserva un bloque de memoria pero lo inicializa.
realloc = este redimenciona el bloque de memoria osea que  puede ir modificando el espacio de memoria como lo vallas requeriendo.
bueno si me equivoque en elgo espro que me corrigan.
bueno espero haberte ayudado en tu duda.
saludos.
Drewermerc