免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1394 | 回复: 3
打印 上一主题 下一主题

[C] C问题求助! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-08 20:05 |只看该作者 |倒序浏览
C问题求助!
先谢谢各位看贴的朋友!
本人在看书的途中,在建立链表这里我糊涂了,特来发贴,问下自己的这些问题,希望各位大大给解决一下!

建立链表的函数:
#include"stdio.h"
#include"malloc.h"           //*这里是怎么回事?malloc不是一个函数吗?怎么可以用来头文件?*//
#define NULL 0
#define LEN sizeof(struct student)         //*这里使用宏,sizeof是求字节数运算符,这里sizeof(struct student)应该怎么理解?*//
struct student
{
long num;
float score;
struct student *next;
};                 //*这里是定义一个结构体,struct student *next;这里是定义了一个*next的指针变量吗?整个结构体是一个数组吗?要怎么理解啊?*//
int n;               //*这是全局变量*//
struct student *creat(void)    //*这里是啥意思啊?是定义一个函数吗?*//
{
struct student *head;        //*这里是定义了一个结构体的指针吗?*//
struct student *p1,*p2;      //*这里也是定义了一个节后体的指针吗?*//
n=0;
p1=p2=(struct student*)malloc(LEN);   //*这里malloc是开辟一个长度为LEN的内存区,是不是在内存里预定一段空间,用来存放下面一些数据的?(struct student*)这里是强制转换吗?*//
scanf("%ld,%f",&p1->num,&p1->score); //*这里是输入*//
head NULL;
while(p1->num!=0)          //*这里是循环,当第一个节点不等于0时循环*//
{
n=n+1;
if(n==1)head=p1;           //*p1(num)指向head*//
else p2->next=p1;          //*否则,next指向p1?*//
p2=p1;
p1=(struct student*)malloc(LEN);
scanf("%ld,%f",&p1->num,&p1->score);
}
p2->next=NULL;
return(head);
}

论坛徽章:
0
2 [报告]
发表于 2008-06-08 21:10 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2008-06-08 21:36 |只看该作者
谢谢楼上,辛苦你了.
谢谢.

论坛徽章:
0
4 [报告]
发表于 2008-06-09 15:22 |只看该作者

回复 #2 jamesr 的帖子

head NULL ;
这句是不是多余的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP