请教有关链表的一个问题!
如题,有关这段代码:q=(struct STUDENT *)malloc(sizeof(struct STUDENT)); 声明下,前面有建立了 struct STUDENT 的结构体,请问这段代码有什么含义,我特别想知道这段代码是如何执行的,越详细越好,Thanks!
相关代码(可能存在错误):
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct STUDENT
{
int data;
struct STUDENT *next;
};
int main()
{
struct STUDENT *head,*p,*q;
int x;
head=(struct STUDENT *)malloc(sizeof(struct STUDENT));
head->next=NULL;
p=head;
do
{
printf("输入数据:"); //显示输入数据
scanf("%d",&x); //赋值给x
if(x==0) //判断x是否等于0
break; //符合判断x=0执行结束break
q=(struct STUDENT *)malloc(sizeof(struct STUDENT)); //
p->next=q;
p=q;
q->next=x;
q->next=NULL;
}
while(1);
for( p=head->next ; p!=NULL ; p=p->next )
{
printf("%d\n",p->data);
}
return 0;
}
[此贴子已经被作者于2015-12-13 21:31编辑过]