C 结构错误数组

C 结构错误数组,c,arrays,struct,compiler-errors,C,Arrays,Struct,Compiler Errors,这是我的密码: typedef struct Node *link; typedef struct Node { char data; int count; link right; link left; link next; }nd; node nd[100]; link current; 当我试图这样做的时候 current = current->nd[0].right; 它告诉我: [错误]“结构节点”没有名为

这是我的密码:

typedef struct Node *link;
typedef struct Node
{           
    char data;
    int count;    
    link right;
    link left;
    link next; 
}nd;
node nd[100];
link current;
当我试图这样做的时候

current = current->nd[0].right;
它告诉我:
[错误]“结构节点”没有名为“nd”的成员
如何修复它?

更改此选项:

current = current->nd[0].right;
为此:

current = nd[0].right;
或者,如果您已经将某些内容分配给当前,请执行以下操作:

current = current->right;

看来你的意思是这样的

typedef struct Node *link;
typedef struct Node
{           
    char data;
    int count;    
    link right;
    link left;
    link next; 
}node;


node nd[100];
link current;

//...

current = nd;
current = current[0].right;

您当前的
类型为
链接
link
是一个没有名为
nd
的成员的结构。我似乎很清楚。您的
nd
是一组
节点
当前节点
完全分离。你希望他们之间有什么关系?您的代码中没有表达。对不起,输入错误,edited@joejordishon你的版本是错误的,没有意义编辑没有帮助。您现在刚刚创建了一个名为
nd
(属于
struct Node
类型)的类型
current
仍然是
link
类型,并且该结构仍然没有名为
nd
的成员。C是区分大小写的语言。因此,代码中的
节点
是未定义的。