[C con Clase] una duda con malloc

David Reza l.fix3r.l en gmail.com
Lun Mayo 19 07:39:16 CEST 2008


La función 'malloc()' requiere como parámetro el tamaño en bytes de  
la memoria a reservar y devuelve un puntero a char.

Creo que su declaración es:

char* malloc(unsigned size);

Por ejemplo:
...
int *p;
p = (int *) malloc(4);
...

Se reservan 4 bytes para el objeto dinámico y como retorna un puntero  
a char hacemos casting para convertirlo a puntero a int.

Un ejemplo más general sería utilizar el operador 'sizeof()':

...
int *p;
p = (int *)malloc(sizeof(int));
...

Pero recuerda que el parámetro tiene que ser 'unsigned'. No estoy  
seguro pero creo que también se puede hacer casting a 'unsigned':

...
p=(char*)malloc((unsigned)(sizeof(int)));

Saludos.

Luis Carlos Olave Lazo escribió:

> tan solo una consulta basica:
>
> como se utiliza mallocpara asignar espacio a punteros, melo podrian
> explicar detalladamente?
>
> gracias




Más información sobre la lista de distribución Cconclase