鱼C论坛

 找回密码
 立即注册
查看: 4123|回复: 2

关于鱼C视频中的动态链表的问题?

[复制链接]
发表于 2013-1-5 21:58:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(struct Student)
struct Student
{   
int num;  float score;
  struct Student *next;
};
int n;
struct Student *creat(void)
{
struct Student * head;
struct Studnet *p1,*p2;
n=0;
p1=p2=(struct Studet *) malloc(LEN);
scanf(“”,&p1->num,&p1->score);
head=NULL;
while(p1->num!=0)
{
n=n+1;
if(n==1)
head=p1;
else p2->next=p1;
p2=p1;//为什么要将p1给p2,那么这里p2(的地址就会是p1循环后被分配的地址),(如果多循环几十次)且哪儿这个地址存放的是刚输入的数据是吧,那么以前的数据的地址呢?
p1=(struct Student *) malloc(LEN);
scanf(“%d,%f”,&p1->num,&p1->score);
}
p2->next=NULL;
return(head);
}
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-1-9 12:16:17 | 显示全部楼层
既然称作链表。链表有个很大的特性就是:他只有一个头指针,如果你要查找第100个数据,需要从头指针开始遍历next直到第100个数据。也就是说只要直到头指针地址。然后每个指针的next存放下一个数据的地址,就能实现通过头指针搜索所有的数据。
小甲鱼最新课程 -> https://ilovefishc.com
 楼主| 发表于 2013-1-19 21:13:11 | 显示全部楼层
我已经解决呢......谢谢你的回答
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-8-9 16:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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