【发布时间】:2022-01-21 17:10:29
【问题描述】:
我目前正在学习 c posix 套接字。在提供的示例https://www.man7.org/linux/man-pages/man3/getifaddrs.3.html 中,struct ifaddrs *ifaddr 使用 'getifaddrs(&ifaddr)' 函数填充了所有 IP/接口/网络信息。然后所有信息都应该通过遍历 ifaddr 链表来显示。
在这种情况下,ifaddr 在for (struct ifaddrs *ifa = ifaddr; ....) 循环中被分配给一个新的ifa struct ifaddrs = ifaddr。为什么要创建一个新变量,而不是使用之前已经初始化的ifaddr 来遍历列表?
【问题讨论】: