我正在研究使用C的套接字编程。在头文件netinet / in.h中有这个代码
struct in_addr
{
in_addr_t s_addr;
};
,此结构用于以下结构。
struct sockaddr_in
{
short sin_family; /* must be AF_INET */
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8]; /* Not used, must be zero */
};
创建in_addr结构的原因是什么,而他们可能只是将它用作普通变量?
答案 0 :(得分:0)
这是一个抽象层。其余代码是与平台无关的编写的,struct in_addr
中的确切内容可能在不同平台上有所不同。这种抽象是完成的,因此其余代码可以平台无关。