#include<stdio.h>
int main()
{
struct node
{
int data;
struct node *next;
};
struct node n1,n2,n3;
int i;
n1.data = 100;
n2.data = 200;
n3.data = 300;
n1.next = &n2;
n2.next = &n3;
i = n1.(*next).data;
printf("%i\n",i);
printf("%i\n", n2.next->data);
return 0;
}
我的问题很简单。为什么当我使用这个代码 i=n1.(*next).data;
时,我无法通过n1节点访问n2节点并且会出现错误。然而,如果我把它改成i=n1.next->data
,它就可以工作。
我认为(*x).y
和x->y
意思相同。