struct ifreq {
char ifr_name[IFNAMSIZ];
union {
caddr_t ifr_d;
} ifr;
};
这里他们使用了union,我没有明白为什么他们在那里只使用了一个元素时使用了? 只有在需要使用2-3个元素时才能使用union。
由于
答案 0 :(得分:3)
很多可能性。但是,在这种情况下,它看起来像是因为定义是从相应的Linux标题中删除的,它们只是采用了他们需要的部分。 struct ifreq
看起来像这样,通常是:
struct ifreq {
char ifr_name[IFNAMSIZ]; /* Interface name */
union {
...
};
};