【问题标题】:use of structure with one field only [duplicate]仅使用一个字段的结构[重复]
【发布时间】:2016-10-12 12:02:04
【问题描述】:

我正在学习使用 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 结构的原因可能是什么,而他们可能只是将其用作普通变量?

【问题讨论】:

  • abstraction struct sockaddr_* 和对应的 *_addr 有很多变种
  • 看看this SO post

标签: c


【解决方案1】:

那是一个抽象层。其余代码与平台无关,struct in_addr 中的确切内容可能在不同平台上有所不同。完成此抽象后,其余代码可以与平台无关。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-28
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多