1. 程式人生 > >結構體訪問成員變量什麽時候該用“->”或者是"."呢?的困惑

結構體訪問成員變量什麽時候該用“->”或者是"."呢?的困惑

size error request lin list 如果 mem def 變量

煎蛋栗子:

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 ‘->‘ ?)

結構體訪問成員變量什麽時候該用“->”或者是"."呢?的困惑