我有两个结构,我正在努力完全掌握箭头操作符的用法。其中Item是一个包含名称和等级的结构。
typedef struct ListNodeTag {
Item item;
struct ListNodeTag *next;
} ListNode;
typedef struct {
int size;
ListNode *first;
} List;
我明白,如果我这样做:
List * L;
L = malloc(sizeof(List));
L->first; // this refers to the first element
但如果我有类似L->first->first?
或
ListNode * p,q;
p->next = q;
或p->next->next;
?
我得到箭头符号是deference和访问成员值/变量。但是我不确定我说的最后三件事到底是做什么的?任何帮助将非常感激。
这里有三个例子:
L->first->first
p->next = q
p->next->next
等