struct ifreq {
char ifr_name[IFNAMSIZ];
union {
caddr_t ifr_d;
} ifr;
};
这里他们使用了 union,我不明白他们为什么在只有一个元素的情况下使用? 我有一个想法,只有在需要使用 2-3 个元素时才使用 union。
谢谢
最佳答案
无限可能。但是,在这种情况下,看起来是因为定义被从相应的 Linux header 中切掉了,他们只是拿走了他们需要的部分。 struct ifreq
通常是这样的:
struct ifreq {
char ifr_name[IFNAMSIZ]; /* Interface name */
union {
...
};
};
关于c - 下面的 union 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12380242/