Originariamente inviato da SkOrPiOn`87
Ciao, mi è capito più volte, mentre leggevo uan guida sulla programmazione di rete di trovare dentro una funzione questo argomento:

int bind(int sockfd, struct sockaddr *mioindir, int lunghindr)
E fino a qual il prototipo è OK, una funziona che accetta come argomento un puntatore di uans truttura sockaddr.

La funzione viene chiamata in questo modo:

bind (sd,(struct sockaddr*) &server_addr, sizeof(server_Addr));

(struct sockaddr*) &server_addr Che cosa è questo?

Converte la dove è conservato l'indirizzo ottenuto con &, in un puntatore?

Ma quando una funzione accetta un puntatore non ci va inserito &variabile?
A che cosa serve quella cosa fatta?


Ciao
Di solito &server_addr viene castato in struct sockaddr* perche' di solito e' una variabile di tipo struct sockaddr_in, ed e' sempre consigliato eseguire il cast anche con il C... (lo stesso discorso vale anche per la funzione accept() )