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

6测试代码

主函数部分:



































//测试数据 float data[15]={    20.0, 20.3, 20.0, 19.8, 20.0,    19.0, 20.0, 20.4, 20.0, 20.0,    19.6, 20.0, 20.6, 20.0, 20.0};  
int main(){    stData *pList = NULL; //环形链表指针    stData *pHead = NULL; //环形链表中的数据头指针    stData *pTail = NULL; //环形链表中的数据尾指针
   init_list(&pList, LIST_LEN); //初始化一个长度为 LIST_LEN的环形链表 (LIST_LEN=5)    pHead = pTail = pList;
   int i = 0;    int ret = -1;    for(i=0;i<15;i++)    {        //printf("mian--->i: %d \r\n", i);        ret = add_data2list(&pHead, &pTail, data[i]);        if(0 == ret)        {            float res;            calc_list_ave(pHead, &res);            printf("--->i: %d (%.2f)\r\n", i, res);        }    }    release_list(&pList);
   return 0;}

测试结果:

--->i: 4 (20.02)
--->i: 5 (19.82)
--->i: 6 (19.76)
--->i: 7 (19.84)
--->i: 8 (19.88)
--->i: 9 (19.88)
--->i: 10 (20.00)
--->i: 11 (20.00)
--->i: 12 (20.04)
--->i: 13 (20.04)
--->i: 14 (20.04)

--------------------------------
Process exited after 0.01616 seconds with return value 0
请按任意键继续. . .

        可以看到,测试程序有一个包含15个数的序列,并通过for循环依次将数据放入到环形链表中,在前4次循环(0~3)中,环形链表没有存满,不对链表中的数据处理,因此没有显示出打印信息,在第5次循环以及之后,环形链表始终是满的状态,因此可以一直对链表中数据进行处理,这里是求取平均值。


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