Malloc

Páginas: 3 (739 palabras) Publicado: 16 de febrero de 2016
Malloc,Calloc,Sizeof,Realloc,Free.
'Malloc'           'Sizeof '                'Free'
Uso de  malloc, sizeof  y  free 
La función malloc es empleada comúnmente para intentar ``tomar'' una porcióncontigua 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 porción reservada detamaño size. Si no puede reservar esa cantidad de memoria la función regresa un apuntador nulo o NULL 
Dado que void * es regresado, C asume que el apuntador puede ser convertido a cualquier tipo. El tipo deargumento 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 dirección de inicioa cp. 
Es usual usar la función sizeof() para indicar el número de bytes, por ejemplo: 
int *ip;

ip = (int *) malloc(100 * sizeof(int) );
El compilador de C requiere hacer una conversión del tipo. Laforma de lograr la coerción (cast) es usando (char *) y (int *), que permite convertir un apuntadorvoid a un apuntador tipo char e int respectivamente. Hacer la conversión al tipo de apuntador correctoasegura que la aritmética con el apuntador funcionará de forma correcta. 
Es una buena práctica usar sizeof() aún si se conoce el tamaño actual del dato que se requiere, -- ya que de esta forma elcódigo se hace independiente del dispositivo (portabilidad). 
La función sizeof() puede ser usada para encontrar el tamaño de cualquier tipo de dato, variable o estructura. Simplemente se debeproporcionar uno de los anteriores como argumento a la función. 
Por lo tanto: 
int i;
struct COORD {float x,y,z};
struct COORD *pt;

sizeof(int), sizeof(i), sizeof(struct COORD) y
sizeof(PT) son tambiensentencias correctas.
En el siguiente ejemplo se reserva memoria para la variable ip, en donde se emplea la relación que existe entre apuntadores y arreglos, para manejar la memoria reservada como un...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Malloc()
  • cruz roja filial malloco

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS