我在一次采访中被问到“联盟可以自我引用吗?”
我知道struct可以自我参考,但我真的很困惑union。我在一本教科书中读到 union 可以自我引用,但它没有对这个主题进行更多说明。
任何人都可以确认是否union 是或不能够自我引用?
当然可以,实际上与以下方式相同struct:
union toto {
union toto* a;
unsigned b;
};
Run Code Online (Sandbox Code Playgroud)
一旦toto知道标签标识符是一个union类型union toto*,它就是一个指向不完整类型的指针。
不过,很难想象这些知识除了面试之外还能对你有什么用处。