链表的制作与读取

链表的制作:

首先弄一个节点(声明一个结构体,里面由数据域和指针域组成)

数据域写内容,指针域用来指向下一个节点,通过一个节点连一个节点串起来形成一个链表。

链表的每一个节点都需要动态分配内存,并用一个指针保存它的地址。

要完成链表需要利用三个指针,一个头指针(记为a)(保存链表的首个节点的地址),两个其他指针(记为b和c)(c动态分配内存创建节点,b的指针域指向c)。

链表内容的读取:

一个简单的链表代码:

#include

#include

int main() {

//声明一个节点

    typedef struct student{

//数据域

        int age;

        //指针域

        struct student*next;

    }Student;  /**Student为变量别名**/

    //创建3个结构体指针,a为头指针

    Student*a,*b,*c;

    //头指针必须指向首个节点

      a = b = (Student*)malloc(sizeof(Student));

      //往结构体的数据域中写东西

        b->age =9;

    for(int i =0;i<3;i++){

//利用c动态分配内存创建新节点

        c = (Student*)malloc(sizeof(Student));

        //往c的数据域里写东西,将b的指针域指向c,将c这个地址赋值给b用来实现链表的创建

        c->age=10+i;b->next = c; b = c;

        //执行循环创建链表

    }

//将最后一个节点的指针域赋值为NULL

    b->next =NULL;

    //利用指针是否为空进行循环

    while(a !=NULL){

//节点中内容的读取

        printf("%d ",a->age);

        //将下一个节点地址赋值给a以便读取下一个节点的内容

        a = a->next;

    }

return 0;

}

结果:


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容