Duda en función memset

Iniciado por Shon, 20 Septiembre 2010, 18:55 PM

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

Shon

Buenas


memset((void *) &dir_serv, 0, sizeof(struct sockaddr_in));


Poniendo o no el (void *), funciona.

Quería preguntaros, que diferencia hay en ponerlo y no ponerlo  y si es adecuado o no.

Graxie ;)

cbug

No creo que sea la diferencia, como verás, en el prototipo de memset tienes:


void * memset ( void * ptr, int value, size_t num );


Por lo que tienes un puntero a void, lo cual se utiliza cuando no sabes el tipo de dato que se pasa por anticipado... Si haces un casting explícito, es castear el tipo de dato a un vacío lo que es válido igualmente con que no lo hagas.