| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 805 人关注过本帖
标题:C问题求助!
取消只看楼主 加入收藏
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
结帖率:80%
收藏
 问题点数:0 回复次数:1 
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);
}
整个函数,在main里调用sreat时,返回的是一个head!

未命名.jpg (1.34 MB)
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: student struct 链表 next 变量 
2008-06-08 19:34
独孤小梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:338
专家分:0
注 册:2008-6-5
收藏
得分:0 
呵呵!谢谢2L您的回复,其实我如你所说,对链表的概念糊涂……总认为就是和数组一样性质的……我还得努力分析下你给我回答的这些问题……谢谢了啊!
2008-06-09 14:01
快速回复:C问题求助!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030690 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved