煎蛋栗子:
typedef struct Node{
int data;
struct Node *next;
}LinkList;
LinkList *p=(LinkList *)malloc(sizeof(LinkList));
在这里,变量p是【LinkList *】类型的【指针变量】
它的值是指向某一个【结点】的【地址】
而【(*p)】表示的则是【结点变量】,它的值指向的是一个【结点】
p是指针,(*p)是结点变量。
我们要访问结构体内的成员data
通过指针变量访问:【p】->data
通过结点变量访问:【(*p)】.data
如果你不厌其烦地写【p.data】
系统也会不厌其烦地给你提示error: request for member 'next' in 'p', which is of pointer type 'LinkList* {aka node*}' (maybe you meant to use '->' ?)