广东湘恒智能科技有限公司
主营产品: 西门子PLC代理商,plc变频器,伺服电机,人机界面,触摸屏,线缆,DP接头
SIEMENS山东省临沂市 西门子代理商——西门子华北一级总代理

        C语言中,链表是一种数据结构,相比较数组的连续存储,链表是一种将内存分散(当前也可以连续)的数据节点通过指针的方式连接在一起,此外,链表不仅可以存储简单的数据类型,还可以存储结构体,只要定义好自己的链表结构体即可。

        链表,从名字上来看是一条数据链,一般的链表其末尾节点是没有指向的,但当把链表的末尾节点指定为指向头节点时,则构成了一个环形链表。


1链表结构体

        首先定义环形链表的节点的形式,即一个结构体,简单为例,该结构体内只有一个float数据,以及指向下一个节点的指针,如下:







//链表节点结构体 typedef struct stData{    float data;    struct stData *pNext;}stData;

        环形链表的使用需要定义3个指针:1个是环形链表的指针(分配后就是固定值),1个头指针和1个尾指针(在向链表写入新数据时这两个指针不不断的改变节点的指向)。

        环形链表首先需要初始化,为其分配内存空间,初始化后,链表内的数据全部初始化为0,且头指针和尾指针都先与环形链表指向同一地址。








stData *pList = NULL; //环形链表指针 stData *pHead = NULL; //环形链表中的数据头指针 stData *pTail = NULL; //环形链表中的数据尾指针
init_list(&pList, LIST_LEN); //初始化一个长度为 LIST_LEN的环形链表 pHead = pList;pTail = pList;



展开全文
相关产品
拨打电话 微信咨询 发送询价