C语言 结构体数组指针 与malloc内存分配的问题 80

从文件中读取学生信息并打印。完成以下编程实验,调试运行程序并完成报告。设每个学生包含如下信息:姓名专业名称英语成绩线性代数成绩C成绩总成绩1.设计一个表示学生信息的结构体... 从文件中读取学生信息并打印。完成以下编程实验,调试运行程序并完成报告。
设每个学生包含如下信息:姓名专业名称英语成绩线性代数成绩C成绩总成绩

1. 设计一个表示学生信息的结构体 struct student;
2. 编写函数从文件读入所有学生信息:
a) 函数定义 int ReadStudentInfo(const char* filename, struct student** pStudents); 函数返回值:返回学生个数,失败返回-1。输入参数const char* filename:数据文件名;struct student** pStudents:返回读取的学生信息,内存由ReadStudentInfo函数分配,main函数释放。
b) 建议函数流程:
i. 打开数据文件,失败返回-1;
ii. 从头到尾扫描数据文件(即预读一遍)获得学生人数;
iii. 根据学生人数,利用malloc和sizeof等函数或运算符为struct student** pStudents分配内存;《《这个不会啊,不理解。
iv. 利用fseek函数,定位到文件头;
v. 读取数据文件,并把每一条记录通过数组下标法或指针法保存到结构体数组pStudents中;
vi. 关闭文件;
vii. 返回学生人数。
c) 数据文件格式说明:
一行一条学生信息的记录,不同属性用空格隔开,输入数据中无总成绩记录,例如:
张三 通信 89 93 95
李四 网络 88 91 94
王五 物联网 71 94 88
展开
 我来答
heptnaol
2015-12-02 · TA获得超过7261个赞
知道大有可为答主
回答量:7120
采纳率:78%
帮助的人:1804万
展开全部
struct student *list;
int count = ReadStudentInfo("假设这是文件名", &list);
这个函数是这样被调用。
里面应该这样写
int ReadStudentInfo(const char* filename, struct student** pStudents)
{
*pStudents = (struct student*)malloc(sizeof(** pStudents) * n);//假设有n个学生
}
a1012144015
2015-11-30 · TA获得超过6415个赞
知道大有可为答主
回答量:9038
采纳率:40%
帮助的人:1344万
展开全部
这么多,。。。。。。。
追问
我的在这,主要解决利用malloc函数分配结构体指针数组..
概括起来就是计算出一值后再创建结构体数组的问题。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式