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是区分大小写的语言。因此,代码中的节点
是未定义的。