用C语言优化代码并打印每一个学生和他对应的信息
时间: 2024-09-21 16:06:59 浏览: 31
在C语言中,为了优化代码并打印每个学生及其信息,你可以遍历班级结构体中的学生数组,并使用循环结构。这里是一个例子:
```c
#include <stdio.h>
#include <stdlib.h> // 包含malloc和strdup函数
// 定义学生和班级结构体
typedef struct {
char* name;
int age;
} Student;
typedef struct {
Student* students;
int num_students;
} Class;
void print_student_info(Class* class, int index) {
if (index >= 0 && index < class->num_students) {
printf("学生 %d 的信息:\n", index + 1);
printf("姓名:%s\n", class->students[index]->name);
printf("年龄:%d\n", class->students[index]->age);
} else {
printf("无效索引。\n");
}
}
int main() {
// 初始化班级数据或其他操作...
for (int i = 0; i < class->num_students; i++) { // 遍历所有学生
print_student_info(&class, i);
}
// 清理内存(如果需要)
for (int i = 0; i < class->num_students; i++) {
free(class->students[i]->name); // 释放姓名字符串
free(class->students[i]);
}
free(class->students); // 释放学生数组
class->students = NULL; // 再置为NULL以便下次使用
return 0;
}
阅读全文