当前位置: 首页 > news >正文

[LVGL] 使用lvgl自带的链表函数

#include "lvgl.h"

    //学生信息类型
    typedef struct StudentInfo StudentInfo_t;
    struct StudentInfo
    {
        char name[15]; //姓名
        int height;//身高
        int score;//成绩
    };

    //学生信息表
    StudentInfo_t std_table[] = {
        {"ZhangSan",  175,  90},
        {"LiSi",  178,  100},
        {"WangWu",  180,  85},
        {"CheLiu",  190,  92},
        {"FengQi",  190,  100},
    };

void lv_ll_test()
{
    StudentInfo_t* std;
    lv_ll_t std_ll;

    _lv_ll_init(&std_ll, sizeof(StudentInfo_t)); // 初始化std_ll链表

    /* 遍历学生信息表,将学生信息添加到std_ll中 */
    for (int i = 0; i < (sizeof(std_table) / sizeof(std_table[0])); i++)
    {
        std = (StudentInfo_t*)_lv_ll_ins_tail(&std_ll);
        lv_snprintf(std->name, sizeof(std->name), std_table[i].name);
        std->height = std_table[i].height;
        std->score = std_table[i].score;
    }

    /* 遍历std_ll,删除WangWu的信息,并显示其他学生的信息*/
    std = (StudentInfo_t*)_lv_ll_get_head(&std_ll);
    while (std)
    {
      
        if ( strcmp(std->name,"WangWu") == 0)
        {
            _lv_ll_remove(&std_ll, std);//删除:王五
        }
        else
        { 
            //显示其他学生的信息
            printf("# Name:%-10s Height:%d\tScore:%d\n", std->name, std->height, std->score);
           
        }
        std = (StudentInfo_t*)_lv_ll_get_next(&std_ll, std);
    }

}

运行的效果如下:

http://www.dtcms.com/a/133127.html

相关文章:

  • CSV文件中的中文乱码--UTF-8 with BOM
  • DeepSeek 与开源:肥沃土壤孕育 AI 硕果
  • react/vue中前端多图片展示页面优化图片加载速度的五种方案
  • 高德地图 JS-SDK 实现教程
  • LFM调制信号分类与检测识别
  • electron-builder参数详解
  • 医用多功能压力检测仪,精密医疗的守护者
  • 04 GE - 钳制属性,等级
  • 面向MoE和推理模型时代:阿里云大数据AI产品升级发布
  • k8s中缩放pod规格
  • 微信小程序-下拉滚动加载数据
  • (2025亲测可用)Chatbox多端一键配置Claude/GPT/DeepSeek-网页端配置
  • XDocument和XmlDocument的区别及用法
  • Java 正则表达式综合实战:URL 匹配与源码解析
  • 详细解读TypeScript中 declare 关键字
  • 2k1000LA , 调试串口改成通信串口, uart.
  • 从三次方程到复平面:复数概念的奇妙演进(四)
  • 跨境贸易之常见的贸易术语
  • 思科模拟器的单臂路由,交换机,路由器,路由器只要两个端口的话,连接三台电脑该怎么办,划分VLAN,dotlq协议
  • ASP.NET Core 性能优化:客户端响应缓存
  • Java从入门到“放弃”(精通)之旅——方法的使用⑤
  • Linux :环境变量
  • 接口自动化测试怎么做?
  • PCDN通过个人路由器,用更靠近用户的节点来分发内容,从而达到更快地网络反应速度
  • 【Qt】sqlite数据库中将数据全部删除后,db文件没有变小
  • 【算法】刷题记录
  • 基于Geotools的PostGIS原始操作之CQL过滤及按属性名称生成面属性时间-以湖北省地级市行政区划为例
  • OpenCV直方图均衡化全面解析:从灰度到彩色图像的增强技术
  • python: range和arange区别
  • 智能合约安全审计平台——形式化验证模型构建