关于rt-thread 单链表,网上介绍实例很少。以下程序能跑,在此做记录。
struct func_effect
{
rt_int16_t t1;
rt_int16_t t2;
rt_slist_t list;
};
int main (int argc, char **argv)
{
struct func_effect fet1,fet2,*temp;
rt_slist_t list_head,*pos;
//给2个结构体赋值
fet1.t1 =11;
fet1.t2 =2;
fet2.t1 =44;
fet2.t2 =5;
rt_slist_init(&list_head); //初始化链表头
rt_slist_append(&list_head, &fet1.list); //装数1
rt_slist_append(&list_head, &fet2.list); //装数2
// int len = rt_slist_len(&list_head); 获取长度
// printf("len=%d\n",len);
rt_slist_for_each(pos,&list_head) //循环遍历单链表
{
temp = rt_slist_entry(pos,struct func_effect,list);//获取链表中的结构体
printf("%d %d \n ",temp->t1,temp->t2);
}
}
输出结果
11 2
44 5