typedef的那点事

typedef struct Node
{
     Element data;
     struct Node * next;
}Node, * Linklist;


       以上这段代码几乎在任何数据结构教材中都会出现,如此经典的一段代码的理解还真是费了我一番功夫。

之前学的是C++,这种纯正C风格的写法几乎没有用到过。。

typedef的用法在百度百科里有比较详尽的解释了,我就不出丑了。这里主要针对这段代码做一小点解读吧。

1.struct Node{};定义了一个stuct Node类型的结构体(C语言规定结构体类型为struct Node,而不是Node);

2.typdef struct Node Node;可能人家觉得老写struct Node 有点烦,于是给struct Node 取了一个别名Node;

       3.typedef Node * Linklist;由于最终目的是要定义一个链表,即在主函数里要出现这样的定义:Linklist L;所以就在这里将 Node *取个别名为Linklist。

      4.至于在各种链表操作函数虚参中出现的Linklist * L以及Linklist L以及Linklist &L等问题,其实都是要看在主函数中是如何调用这些函数的。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值