如何使用结构体作为函数的参数?我试过这个:
struct
{
char name[30];
char section[20];
float grade;
}student[30];
读取信息并将其存储到结构中后,我调用了将数据写入文件的函数:
show(f,n,student); //n is the number of students
这是显示函数:
void show(FILE *f,int n, struct elev);
{
...
}
谢谢。
最佳答案
你最好命名你的结构:
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);
关于c - 在函数中使用结构体作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21217343/