Вопрос по типам Си - C (СИ)
Формулировка задачи:
всем доброго времени суток.
вопрос будет про Си.
я полный лох в этом.
объясните мне, пожалуйста, вот что:
в стурктуре "sockaddr_in" стандартно заголовочного файла <sys/in.h> присутствует некий тип данных "sa_family_t", который typedef'ится из "__sa_family_t". Теперь идём в <sys/_types.h>. там видим, что "__sa_family_t" typedef'ится из "__uint8_t". теперь идём в <machine/_types.h> и там, наконец, видим, что "__uint8_t" typedef'ится из банального "unsigned char"
объясните, зачем весь этот огород нужен?
заранее благодраю.
p.s.
на форумах никогда раньше не общался, поэтому с удовольствием приму все замечания к построению вопроса и форме передачи сути... ну и т.д.
Решение задачи: «Вопрос по типам Си»
textual
Листинг программы
if (bind(sfd/*дескриптор соккета*/, (struct sockaddr *) &my_addr/*адрес структуры потому что функция принимает указатель*/, sizeof(struct sockaddr_un)/*размер в байтах для ясности у получателя*/) == -1) handle_error("bind");
Объяснение кода листинга программы
- В данном коде происходит попытка привязки сокета к определенному адресу.
sfd
- это дескриптор соккета, который был создан ранее.my_addr
- это структура, содержащая адрес, к которому должен быть привязан сокет.sizeof(struct sockaddr_un)
- это размер структурыsockaddr_un
в байтах.- Если привязка не удалась (возникла ошибка), то вызывается функция
handle_error
, которая обрабатывает ошибку с сообщениемbind
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д