Что означает "s" в структуре?

Вот простой вопрос. Каков смысл ведущей буквы " s" в файлах sin_family, sin_port, sin_addr и sin_zero?

struct sockaddr_in {
    short int          sin_family;  // Address family, AF_INET
    unsigned short int sin_port;    // Port number
    struct in_addr     sin_addr;    // Internet address
    unsigned char      sin_zero[8]; // Same size as struct sockaddr
};

Спасибо.

Ответы

Ответ 1

Это происходит из Беркли, когда ЛСД все еще легально. Это очень очевидно в выборе наименований:/

Все шутки в сторону, это относится к очень раннему K & R C, где члены структуры не имеют собственного пространства имен. Это потребовало, чтобы вы придумали разные имена для членов структуры, которые не столкнулись бы с идентификаторами в глобальном пространстве имен. Болезненные. Префиксом имен с аббревиатурой названия структуры был общий подход.

Таким образом, "sockaddr_in" становится "грехом".

Обратите внимание на то, что перечисления все еще имеют эту проблему сегодня, а не нетипично решаются одинаково.

Ответ 2

sin повторяет имя структуры sockaddr_in, т.е. S ocket IN ternet.

Ответ 3

"sin" означает "Socket INternet" в этом контексте.