嵌入式学习-链表

链表是一种数据结构,它相对于数组来说十分灵活,它存放着一个数据和指向下一个数据的地址(指针)。

链表和数组的区别在于,数组是连续的,而链表可以是不连续的。

 

 输出结果:

 

 上面是一个简易版本的链表实例。

Test结构体存放着数据和下一个Test结构体的地址,然后初始化三个Test结构体实例,让第一个存放着第二个Test结构体的地址,第二个存放第三个结构体的地址,第三个结构体指向的地址为空,

然后通过第一个结构体打印三个结构体的数据。

 

#include<stdio.h>
struct Test
{
        int data;
        struct Test * next;
};

void  printfLink(struct Test *head)
{
   while(head!=NULL)
   {
      printf("%d\n",head->data);
      head=head->next;
   }
}

int main()
{
  struct Test t1={1,NULL};
  struct Test t2={2,NULL};
  struct Test t3={3,NULL};
  t1.next=&t2;
  t2.next=&t3;
  printf("use t1 printf data\n");
  // printf("%d%d%d\n",t1.data,t1.next->data,t1.next->next->data);
  printfLink(&t1);
  return 0;
}

上面的代码可以实现动态打印l链表数据。

输出结果:

1

2

3

 

posted @ 2022-11-22 22:06  WellMandala  阅读(81)  评论(0编辑  收藏  举报