为什么结构 *节点接下来适用于C++中的链表



只有一个不是指针的相同结构的嵌入式对象不是相同的吗?

Struct Node
{
int data;
Node next;
};
//vs
Struct Node
{
int data;
Node * next;
};

不!

具有以下结构:

struct Node {
    Node other;
};

是非法的! Node没有定义的大小;编译器无法正确生成它。Node将包含一个包含NodeNode。等什么?

然而,指针很好,它只指向内存的一部分。定义指针时,它指向的类型不必是完整的,它只需要定义

struct Node;
int main() {
    Node* a; // Fine, no errors.
    Node b; // Incomplete type error
}

相关内容

  • 没有找到相关文章

最新更新