hp - это указатель типа struct hostent , который, скорее всего, будет возвращен вызовом " gethostbyname () ". У него есть член с именем h_addr, который на самом деле является псевдонимом для h_addr_list [0] (он содержит первый IP-адрес, полученный для вашего запроса имени). В этом случае; Вы передаете этот IP-адрес в переменную типа struct sockaddr_in типа "pin". Он имеет член с именем sin_addr с типом struct in_addr .
struct in_addr {
unsigned long int s_addr;
}
Чтобы завершить присваивание, вам нужно набрать h_addr для структурирования ptr in_addr (обычно это char *), затем получить доступ к члену s_addr.
Надеюсь, это объясняет, что происходит с тобой.