線性表的鏈式存儲,下面這段代碼typedef struct Node{
ElemType e;
struct Node *next;
}Node,*LinkList;LinkList p和Node p有什么區別
2 回答
九州編程
TA貢獻1785條經驗 獲得超4個贊
如果你理解int a與int *a的區別,再理解了typedef int ElemType 你就可以理解上面例子。
typedef struct Node{
ElemType e;
struct Node *next;
} Node, *LinkList;首先從外層看,typedef [] *** 就是把[] 中的類型重新定義成以***表示;
例子中的意思就是說,中間的結構體類型變量struct Node{***} 在這里可以用Node和*LinkList來表示了。并且,
當需要聲明Node變量時,就可以用 Node p來聲明;等同于 struct Node p
當需要聲明Node指針變量時,就可以用LinkList p來聲明;等同于 struct Node *p
再看中間的結構體定義:
定義了一個別名為Node的結構體類型:
這個結構體由一個ElemType類型的變量e和一個當前結構體類型指針 *next構成
而后你聲明的每一個該結構體類型的變量中都包含這兩個元素。
慕雪6442864
TA貢獻1812條經驗 獲得超5個贊
LinkList是指針類型,Node是結構體類型.LinkList 指針類型的變量的使用可以用 (*p).e 或者 p->e,Node類型變量使用可以用 p.e.
- 2 回答
- 0 關注
- 739 瀏覽
添加回答
舉報
0/150
提交
取消
