364904690 发表于 2015-3-30 15:50:10

链表结点指针域的定义?

本帖最后由 364904690 于 2015-3-30 16:05 编辑


typedef struct node
{
    int data;
    struct node * next;
}


上面的程序中,定义一个struct node的数据类型。
      1、为什么定义指针next时,用的是struct node类型,这个类型不是正在被定义吗,还没有定义成功时,怎么能用自己定义指向自己的指针呢?谁帮我解释下这句。
      2、是不是所有链表结点里面的指针域都要这样定义,都是里面必须有指向自己类型的指针?比如,定义struct mouth类型,就是在里面定义一个struct mouth *p的指针?

隨鈊乄鎍慾 发表于 2015-3-30 16:20:24

说得是呢,这叫递归定义的形式。因为它要指向同类型的结构,所以要指向自已。有时候学习吧搞不清为什么要这样,建议你就死记住链表结构就是这么定义的就行了,别去想哪么多.

vanentu 发表于 2015-5-26 01:30:24

鼓励一下楼主
页: [1]
查看完整版本: 链表结点指针域的定义?