对严蔚敏《数据结构》中单链表LNode和*LinkList的理解

    八月的时候在b站看王道的数据结构,对LNode和*LinkList两者表示不能理解,但是当时也没多管。最近开始复习之前的坑,又看到了这个代码,就搜了一下网上的资源。

    

typedef struct LNode{
    ElemType data;
    struct LNode *next;
}LNode, *LinkList;

    这一部分当时没弄懂,只知道LNode多用来表示结点,LinkList强调头结点,表示整个链表。

    实际上,这一部分代码实际上等价于

typedef struct LNode LNode; //将结构体重命名为LNode
typedef struct LNode *LinkList; //将结构体指针重命名为LinkList

    LNode是一个具象的结构体类型,指向的是包含某个数据类型的数据域和指针域的结构体类型。

    而LinkList是LNode的指针类型,它占用一定内存空间,内存空间中的值是一个LNode类型结构体的地址。相比LNode,它显得有些“虚无缥缈”。

 

    其实说到底还是之前的C语言中对指针这一部分理解不透彻。

posted @ 2020-09-04 18:59  penguin1022  阅读(8165)  评论(0编辑  收藏  举报