-
用户需要的实际数据。
-
下一个结点的地址。
struct student //定义学生结构体
{
int num; //学号
float score;//成绩
struct student *next;
};
int main()//主函数
{
struct student str1,str2,str3;//定义结构体变量
struct student *head,*point;//定义结构体指针变量
str1.num=1;
str1.score=90.8;
str2.num=2;
str2.score=90.0;
str3.num=3;
str3.score=85.0;
head=&str1;//将第1个结点的起始地址赋给头指针head
str1.next=&str2;//将第2个结点的起始地址赋给第1个结点的next成员
str2.next=&str3;//将第3个结点的起始地址赋给第2个结点的next成员
str3.next=NULL;//第3个结点的next成员赋给null
point=head;
do
{
printf("%d %3.1f\n",point->num,point->score);//输出结果
point=point->next;
}
while(point!=NULL);
return 0;//主函数返回值为0
}编译运行结果:1 90.8
2 90.0
3 85.0
--------------------------------
Process exited after 0.1073 seconds with return value 0
请按任意键继续. . .