只是拥有一个不是指针的相同结构的嵌入对象会不一样?
Struct Node
{
int data;
Node next;
};
//vs
Struct Node
{
int data;
Node * next;
};
答案 0 :(得分:1)
否!
具有以下结构:
struct Node {
Node other;
};
非法! Node
没有定义的大小;编译器无法正确构建它。 Node
将包含Node
,其中包含Node
..等待什么?
然而,指针很好,它只指向一段内存。定义指针时,它指向的类型不必完整,只需要定义。
struct Node;
int main() {
Node* a; // Fine, no errors.
Node b; // Incomplete type error
}