鱼C论坛

 找回密码
 立即注册
查看: 2125|回复: 4

谁能帮我解释下面这个创建链表函数的每一句有什么作用

[复制链接]
头像被屏蔽
发表于 2014-4-15 15:57:55 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-15 15:57:56 | 显示全部楼层
struct student *creat()    //定义这个结构体的指针函数
{
      struct student *head;    //声明这个结构体的头部指针变量
      struct student *p1, *p2;   
  
      p1 = p2 = (struct student *)malloc(LEN);   //给定这两个变量的大小,也就是这个结构体的长度
      printf("Please enter the num :");   //提示输入
      scanf("%d", &p1->num);     //向结构体的第一个成员输入信息
      printf("Please enter the score :");
      scanf("%f", &p1->score);   //想结构体的第二个成员输入信息
      head = NULL;      
      n = 0;   
      
      while( p1->num )    //如果p1指向的是num的话
      {
            n++;                   //n就加1
            if( 1 == n )    //如果n=1的话
            {
                  head = p1;       //就将p1的地址给head ,也就是根节点     
            }
            else
            {
                  p2->next = p1;   //否则就将p1的地址给p2的下一个节点
            }
            p2 = p1;   //将p1的地址给p2,这样的话,就链起来了
            p1 = (struct student *)malloc(LEN);
            printf("\nPlease enter the num :");
            scanf("%d", &p1->num);
            printf("Please enter the score :");
            scanf("%f", &p1->score);
      }
      p2->next = NULL;   //然后就是直到p2的下一个节点为空为止
      return head;   //返回头部指针
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-17 19:28:35 | 显示全部楼层
你这样有意思??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-19 13:08:01 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-4-19 14:57:28 | 显示全部楼层
牡丹花下死做鬼 发表于 2014-4-19 13:08
你还真有激情啊 O(∩_∩)O~

哎!其实那!·你看!互相学习嘛!呵呵!{:2_27:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-26 02:29

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表