首頁  >  問答  >  主體

c++ - 初學資料結構,有個小問題

線性表的鍊式存儲,下面這段程式碼

typedef struct Node{
    ElemType e;
    struct Node *next; 
}Node,*LinkList;

LinkList p和Node p有什麼差別

ringa_leeringa_lee2660 天前854

全部回覆(2)我來回復

  • ringa_lee

    ringa_lee2017-06-10 09:50:45

    LinkList是指標型別,Node是結構體型態.
    LinkList 指標型別,Node是結構體型態.LinkList 指標型態的變數的使用可以用(*p).ep->e

    p->e🎜可以用🎜p.e🎜.🎜

    回覆
    0
  • 仅有的幸福

    仅有的幸福2017-06-10 09:50:45

    如果你理解int aint *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語變數來聲明;等同於struct Node *p 再看中間的結構體定義:

    定義了一個別名

    Node
    的結構體類型:這個結構體由一個ElemType
    類型的變數e和一個當前結構體類型指針*next*next*next*next
    *next

    *next🎜*next🎜*next🎜*next🎜*next🎜*next🎜*next🎜*next🎜*next🎜*next🎜*next🎜*next🎜*next🎜*next🎜*next🎜*next🎜*next 🎜而後你聲明的每一個該結構體類型的變數中都包含這兩個元素。 🎜

    回覆
    0
  • 取消回覆