千翎丿 2018-03-04 06:57 采纳率: 0%
浏览 7585
已结题

链表的定义中,struct Node和Node的区别(在线等,急!!)

typedef struct Node{...}LNode;
以上定义中,是不是可以去掉第一个Node?然后依然可以得到新类型LNode

typedef struct Node* Linklist;
以上定义中,既然已经自定义了LNode类型,为什么不这样写:typedef LNode* Linklist;
而还要用 struct Node呢?

  • 写回答

7条回答 默认 最新

  • qq_39632570 2018-03-04 08:11
    关注

    struct //是C中的结构体的关键词。
    如: stuct node{

    /* node 相当于结构体的类型,关键是!
    其实在C中stuct node 才相当于一个数据类型,如int ,所以在才会给初学者的带来困难,如在定一个变量时,要用 struct node xxx,而不是 node xxx 这就是关键。
    */
    int a;
    .....
    } a; //

    a是结构体的变量

    而 typedef // 是自定义数据类型。
    如:typedef int zengshu // 把一个数据类型用一个直观的数据类型名代替,增加程序的可移植性。
    而且 typedef struct node {

    }A;
    则是把 struct node 看做一个数据类型(见关键处),不同的是这个结构体类型的定义也放在后面。 而A则是那个直观的数据类型名,引用的时候更加方便。

    评论

报告相同问题?