这是一段包括了建立一个链表,输出链表,删除节点,插入节点的程序,应用在输入学号和学生成绩的系统中

2024-11-27 02:09:24
推荐回答(3个)
回答(1):

p1=(struct studinf*)malloc(sizeof(struct studinf))
表示开辟一段strunt studinf大小的内存空间,并把这空间的首地址赋值给p1

head=p1;p2=p1;//p2指向第一个空间
把p1指向的空间地址赋值给p2

p2->next=p1;//此时的p1是指向开辟的第二个空间了
是连接两个开辟空间的语句,通过*next指针连接的;
把p1的值赋值给p2的next,使得p2可以用过next访问后继节点p1;
这样就实现了两个节点的连接
另外,站长团上有产品团购,便宜有保证

回答(2):

最后输入的0没有放到链表里面去、、、、、
。。。。。。。。。。。。
在链表输入部分
把循环后面的
p2->next=NULL;
改成
p1->next=NULL;
p2->next=p1;

回答(3):

p1=(struct studinf*)malloc(sizeof(struct studinf))
表示开辟一段strunt studinf大小的内存空间,并把这空间的首地址赋值给p1

head=p1;p2=p1;//p2指向第一个空间
把p1指向的空间地址赋值给p2

p2->next=p1;//此时的p1是指向开辟的第二个空间了
是连接两个开辟空间的语句,通过*next指针连接的;
把p1的值赋值给p2的next,使得p2可以用过next访问后继节点p1;
这样就实现了两个节点的连接