Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
struct ifreq { char ifr_name[IFNAMSIZ]; union { caddr_t ifr_d; } ifr; };
在这里他们使用了联合,我不明白为什么当那里只使用一个元素时他们使用?我有一个想法,只有在需要使用 2-3 个元素时才使用联合。
谢谢
大量的可能性。但是,在这种情况下,似乎是因为定义是从相应的 Linux 头文件中删除的,他们只取了他们需要的部分。struct ifreq看起来像这样,通常:
struct ifreq
struct ifreq { char ifr_name[IFNAMSIZ]; /* Interface name */ union { ... }; };