suchen

Heim  >  Fragen und Antworten  >  Hauptteil

c++ - Anfänger im Erlernen der Datenstruktur, ich habe ein kleines Problem

Verknüpfte Speicherung der linearen Tabelle, der folgende Code

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

Was ist der Unterschied zwischen LinkList p und Node p

ringa_leeringa_lee2809 Tage vor972

Antworte allen(2)Ich werde antworten

  • ringa_lee

    ringa_lee2017-06-10 09:50:45

    LinkList是指针类型,Node是结构体类型.
    LinkList 指针类型的变量的使用可以用 (*p).e 或者 p->e,Node类型变量使用可以用 p.e.

    Antwort
    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指针变量时,就可以用LinkList p来声明;等同于 struct Node *p

    再看中间的结构体定义:
    定义了一个别名为Node的结构体类型:
    这个结构体由一个ElemType类型的变量e和一个当前结构体类型指针 *next构成
    而后你声明的每一个该结构体类型的变量中都包含这两个元素。

    Antwort
    0
  • StornierenAntwort