Originariamente inviato da oregon
Cosi' ti e' piu' chiaro ?

codice:
char **x1 = str->h_addr_list;

char *x2 = *str->h_addr_list;

struct in_addr *x3 = (struct in_addr *)x2;

struct in_addr x4 = *x3;

printf("%s\n",inet_ntoa(x4));
Si decisamente.... thanks! però correggimi se sbaglio:

char **x1 = str->h_addr_list; x1 e un doppio puntatore a char e quindi lo inizializzo con str->h_addr_list

char *x2 è un puntatore a carattere, quindi per inizializzarlo devo deferire ( si dice cosi no?) str->h_addr_list e quindi pongo un * davanti a str...

struct in_addr *x3; definisco un puntatore x3 a una struttura di tipo in_addr...

(struct in_addr *)x2; questo se non erro dovrebbe essere il casting del puntatore x2 (che puntava a char) alla struttura di tipi in_addr....

struct in_addr x4 = *x3; dichiaro la struttura x4 di tipi in_addr e ci metto il valore puntato da *x3....

Spero di aver capito!