Está en la página 1de 1

Orozco Caldern Omar

Tarea #4
Tema 2

MALLOC
La funcin malloc es empleada comnmente para intentar ``tomar'' una porcin
contigua de memoria. Esta definida como:
void *malloc(size_t size);
Lo anterior indica que regresar un apuntador del tipo void *, el cual es el inicio en
memoria de la porcin reservada de tamao size. Si no puede reservar esa
cantidad de memoria la funcin regresa un apuntador nulo o NULL
Dado que void * es regresado, C asume que el apuntador puede ser convertido a
cualquier tipo. El tipo de argumento size_t esta definido en la cabecera stddef.h y
es un tipo entero sin signo.
Por lo tanto:
char *cp;
cp = (char *) malloc(100);
Intenta obtener 100 bytes y asignarlos a la direccin de inicio a cp.
CALLOC
Existen dos funciones adicionales para reservar memoria, calloc(). Definida como:
void *calloc(size_t nmemb, size_t size);
void *realloc(void *ptr, size_t size);
Cuando se usa la funcin malloc() la memoria no es inicializada (a cero) o borrada.
Si se quiere inicializar la memoria entonces se puede usar la funcin calloc. La
funcin calloc es computacionalmente un poco ms cara pero, ocasionalmente,
ms conveniente que malloc. Se debe observar tambin la diferencia de sintaxis
entre calloc y malloc, ya que calloc toma el nmero de elementos deseados
(nmemb) y el tamao del elemento (size), como dos argumentos individuales.
Por lo tanto para asignar a 100 elementos enteros que estn inicializados a cero
se puede hacer:
int *ip;
ip = (int *) calloc(100, sizeof(int) );

También podría gustarte