我很难理解这段代码是如何工作的。我一直认为在使用指向结构的指针之前,应该定义它。在下面的示例中,为什么编译器不提示 struct LL* Next ?
typedef struct LL
{
int value;
**struct LL* Next;**
}Node;
Node* temp;
最佳答案
在你的代码中,
struct LL* Next;
允许作为 struct LL
定义本身内部的成员并且不会抛出任何错误,因为此时编译器不需要知道结构本身的定义。它只需要分配一个指向该结构的指针,它就可以了。
稍后,在使用 struct
类型的变量时,您必须为指针对象分配内存,并在进一步使用之前将该内存分配给指针。
关于c++ - 在定义结构之前如何使用指向结构的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36553376/