【概念理解】typedef-Lnode-*Linklist

本文详细解析了C语言中结构体的定义方法,包括如何使用typedef进行类型重命名,以及如何定义链表节点和链表。通过示例说明了结构体在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

结构体定义  

 typedef struct Lnode
    { 
        int data; 
        struct Lnode *next; 
    }Lnode,*LinkList;

上述语句等价于:

   

struct Lnode1 { int data; struct Lnode *next;} ;

和  

typedef struct Lnode1 Lnode2; 

//注意这里的"struct Lnode1"是一个整体,表明"Lnode1"是一个结构体类型,作用是在下文把"struct Lnode1"重命名为"Lnode2",以后就可以不用写"struct"了,直接使用"Lnode2"定义结构体变量或指针等等。  
即可以将

 struct Lnode1 node;//定义一个Lnode1类型的结构体,命名为node

//简写为

 Lnode2 node;//与上一句作用相同。

  同理,在定义链表时

typedef struct Lnode1* LinkList;

把struct Lnode1* 重命名为LinkList,以后就可以使用LinkList来简化定义Lnode*类型的变量了(而且还是个指向struct变量的指针)。 应该把定义中的那个*与前面的结构体连接在一起考虑,而不是与后面的LinkList连接在一起考虑,这就是容易引起疑惑的地方。

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值