返回首页   进站必读

17.1 节点定义


17.1 节点定义

本节我们学习如何创建和操作这种链表。每个链表有一个头指针,通过头指针可以找到第一个节点,每个节点都可以通过指针域找到它的后继,最后一个节点的指针域为NULL,表示没有后继。数组在内存中是连续存放的,而链表在内存中的布局是不规则的,我们知道访问某个数组元素bn时可以通过基地址+n×每个元素的字节数得到它地址,或者说数组支持随机访问,而链表是不支持随机访问的,只能通过前一个元素的指针域得知后一个元素的地址,因此只能从头指针开始顺序访问各节点。
下面我们定义一个节点:

    typedef struct node *link;
    struct node {
            unsigned char elem;
            link next;
    };

这样我们就定义了一个节点,该结点有两个成员,一个是该结点的elem,一个是该节点类型的指针,用来指向下一个节点。