我正在尝试构建网络应用程序,我需要能够一次编写一个选项,一个、两个或三个。下面的 union 将 4 个字符写入网络,即使我只使用了一个结构。
union choice_
{
struct one_
{
unsigned char one[2];
}src;
struct two_
{
unsigned char two[2];
}two;
struct three
{
unsigned char one[2];
unsigned char two[2];
}three;
}choice;
我不能只写 choice.one
我在这里有点困惑,如何构建结构选择?
最佳答案
union 与其最大成员一样大,因为它必须能够随时存储最大成员。在这种情况下,您得到了 struct three
,它包含两个数组,每个数组包含两个字符,总共有四个字符,因此 choice
的任何实例都将是四个字符长。
关于c - 结构内部 union ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10296484/