静态链表,直接用头指针head不就可以了吗,为什么还要用p呢

http://img.mukewang.com/58799db10001e76d06420584.jpg

#include "stdio.h"

 struct student

    {

    long num;

    float score;

    struct student * next;

    };

void main()

{

    struct student stu1,stu2,stu3;

    struct student * head,*p;

    

    stu1.num=1;

    stu2.num=2;

    stu3.num=3;

    head=&stu1;

    stu1.next=&stu2;

    stu2.next=&stu3;

    stu3.next=NULL;

    

    //p=head不用p不是也可以吗,p有什么用

    

    while(head!=NULL){

    printf("%d\n",head->num);

    head=head->next;

    }

   }


溯源1
浏览 1944回答 3
3回答

望远

这是为了不修改head的指向,而是用一个变量p来指向,以便于后面对链表的一系列操作如增,删,改,查,都能通过head指针来找到头结点。

AIxer

你这个链表当然没什么,但是链表应该大多数使用循环的方法创建的,那时需要三个~
打开App,查看更多内容
随时随地看视频慕课网APP