1、写在前面
去学习链表,发现自己对C语言的指针和结构体的理解还是不够透彻,现将今天学习所得分享给大家。涉及到的知识为无头链表,不涉及链表的插入删除等知识,只是将链表的思想理解了一遍。
2.链表
(1)概括
链表:顾名思义,就像一条链子一样,每一个圈的头连着上一个圈的尾部。
(2)组成
链表是由一个一个的节点组成的。节点由数据域和指针域构成,数据域存储当前节点的数据,指针域存储下一个节点的地址。如下图所示。
![78a3988b63304668ae17b2c89a59f32e.png](https://i-blog.csdnimg.cn/blog_migrate/dd938f1a7fe47ef46e81a72fc84b3181.png)
如图所示,为一个结构体,data存储数据,next存储地址。注意!!!node *next涉及到结构体的嵌套*,可以去了解一下,网上很多资料,写的非常好,这里就不一一解释。
(3)主函数
![58e9f8209a81de35e89857c22f11ae60.png](https://i-blog.csdnimg.cn/blog_migrate/cb3d9c6dec9f5a3fef4d881ef76311b4.jpeg)
如上图所示,每个步骤都有备注。
这里敲重点了!!!malloc为C 库函数 void malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指针。sizeof为一个操作符,用来计算字节大小。但是结构体的字节统计则需要注意字节对齐*这个知识点,大家也可以去查一下。