如何将结构用作函数的参数?我试过这个:
struct
{
char name[30];
char section[20];
float grade;
}student[30];
在读取并将信息存储到结构后,我调用了将数据写入文件的函数:
show(f,n,student); //n is the number of students
这是show函数:
void show(FILE *f,int n, struct elev);
{
...
}
谢谢。
答案 0 :(得分:2)
你最好命名你的结构:
struct student_st {
char name[30];
char section[20];
float grade;
};
由于您有几个学生,您可能希望将指针传递给它们(的数组):
void show(FILE *f,int n, struct student_st* s) {
assert (f != NULL);
assert (s != NULL);
for (int i=0; i<n; i++) {
fprintf(f, "name: %s; section: %s; grade: %f\n",
s->name, s->section, s->grade);
};
fflush(f);
}
您将使用它:
#define NBSTUDENTS 30
struct student_st studarr[NBSTUDENTS];
memset (studarr, 0, sizeof(studarr));
read_students (studarr, NBSTUDENTS);
show (stdout, NBSTUDENTS, studarr);