// test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<iostream>
#include <iomanip>
using namespace std;
//#define NULL 0
struct student
{long num;
float score;
student *next;
};
int _tmain(int argc, _TCHAR* argv[])
{
student *head=NULL; //链表的头指针,初始化为NULL
student *p=head; //p用来指向当前链表的尾结点
student *s=NULL; //s用来指向新开辟的结点
s=new student; //动态开辟第一个新结点,让指针s指向它
/*为新结点赋值*/
s->num=31001;
s->score=89.5;
s->next=NULL;
head=s; //头指针指向当前节点,作为链表中的第一个结点
p=s;//p指向第一个结点,也是当前链表的尾结点(因为当前链表中只有一个结点)
s=new student; //动态开辟第二个新结点,让指针s指向它
/*为新结点赋值*/
s->num=31003;
s->score=90;
s->next=NULL;
p->next=s; //将新结点连接到链表尾部
p=p->next; //将p指向当前的尾结点
s=new student; //动态开辟第二个新结点,让指针s指向它
/*为新结点赋值*/
s->num=31007;
s->score=85;
s->next=NULL;
p->next=s; //将新结点连接到链表尾部
p=p->next; //将p指向当前的尾结点
//遍历数组,从链表的一个结点开始访问直到链表尾结点
p=head;
do
{
cout<<p->num<<" "<<p->score<<endl;//输出当前指针p所指的结点内容
p=p->next; //当前指针p移动到下一个结点
}while(p!=NULL);
system("pause");
return 0;
}