Ciao a tutti,
sto usando le librerie winsock2.lib ma ho un problema un pezzo di codice (funzionante) che pero non riesco bene a comprendere...
Codice PHP:
struct hostent *str; // questa riga dichiara una struct di tipo hostent che è così fatta:
typedef struct hostent {
char FAR* h_name;
char FAR FAR** h_aliases;
short h_addrtype;
short h_length;
char FAR FAR** h_addr_list;// qua ci dovrebbe essre la lista di indirizzi IP dell host locale
} hostent;
l istruzione
Codice PHP:
str=gethostbyname("");
mette nella struttura puntata da str le informazioni relative all host locale... fin qui tutto bene....
ma cio che non mi capisco sta in questa istruzione:
Codice PHP:
printf("%s\n",inet_ntoa(*(struct in_addr *)*str->h_addr_list));
che stampa a video l indirizzo IP del PC locale.
La funzione inet_ntoa è definita così
Codice PHP:
char* FAR inet_ntoa(
struct in_addr in
);
ora qualcuno mi spiega questa serie di puntamenti e casting??
Codice PHP:
*(struct in_addr *)*str->h_addr_list
Grazie!