Dans le manuel de la GNU libc (ou voir ici pour le manuel complet de la libc sur une seule page), ils disent :
Rappelez-vous que l'hôte peut être connecté à plusieurs réseaux et avoir des adresses différentes sur chacun
Ils fournissent également le h_addr
variable qui n'est que le premier élément du vecteur h_addr_list
.
Vous avez raté ce passage juste en dessous :
#define h_addr h_addr_list[0] /* for backward compatibility */
Donc non, il n'y a pas de problème.