C链表初学者,求帮助。很着急!
看了视频教学,按照视频上敲的代码,可是不能运行,求老司机帮帮忙。代码如下://创建链表//
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
typedef struct student //创建结构体类型:包括数据域和指针域。 //
{
int num; //学号// //数据域///
char name [20]; //姓名//
struct stduent *pnext; //指针域,指向结构体类型//
}STU; //别名//
STU * CreateList(int n)//创建链表函数,该函数的指针指向结构体类型。 即该函数的数据都是相对应的结构体类型//
{
STU * pList = NULL; //创建一个指针,使之指向空///
STU * pNew = NULL;//创建一个指针,使指针指向空///
STU * pTemp = NULL; //创建一个临时指针,用来临时存放新节点pNew///
int i;
for(i=1;1<=n; i++)
{
pNew = (STU*)malloc(sizeof(STU));
printf("请输入第%d个学生的信息\n",i);
scanf("%d%s",&pNew->num,pNew->name);
if(1 == i)
{
pNew->pnext = NULL;
pTemp = pNew;
pList = pNew;
}
else
{
pNew->pnext = NULL;
pTemp->pnext = pNew; //这儿等号下有红色波浪线//
pTemp = pNew;
}
}
return pList;
}
void print(STU *pList) //打印函数,遍历整个链表//
{
int index=1;
for(;pList!=NULL;index++)
{
printf("这是第%d个学生的信息:\n",index);
printf("%d\n%s\n",pList->num,pList->name);
pList = pList->pnext; //这儿等号下有红色波浪线//
}
}
int main(void)
{
int n;
printf("创建多少个节点?\n");
scanf("%d",&n);
STU * pstu =NULL;
pstu = CreateList(n);
print(pstu);
return 0;
}