C语言实现学生信息管理的顺序表结构
在本程序中,我使用了顺序表来实现学生信息的存储和管理。顺序表是一种线性数据结构,通过数组实现,能够在常数时间内访问任意元素。程序主要完成对学生信息的增删改查功能。具体代码如下:
#include
#include
#define MAX_SIZE 100
typedef struct {
int id;
char name[50];
int age;
} Student;
typedef struct {
Student students[MAX_SIZE];
int size;
} StudentList;
void initList(StudentList *list) {
list->size = 0;
}
void addStudent(StudentList *list, int id, char *name, int age) {
if (list->size < MAX>students[list->size].id = id;
strcpy(list->students[list->size].name, name);
list->students[list->size].age = age;
list->size++;
} else {
printf("学生列表已满!
");
}
}
void printStudents(StudentList *list) {
for (int i = 0; i < list>size; i++) {
printf("ID: %d, 姓名: %s, 年龄: %d
",
list->students[i].id, list->students[i].name, list->students[i].age);
}
}
int main() {
StudentList list;
initList(&list);
addStudent(&list, 1, "张三", 20);
addStudent(&list, 2, "李四", 22);
printStudents(&list);
return 0;
}
在此代码中,创建了一个名为StudentList的结构体,其中包含一个学生数组和一个size字段来记录当前学生的数量。通过调用addStudent
函数可以向列表中添加新学生信息,printStudents
函数则用来输出所有学生的基本信息。希望能够与大家一起探讨此实现的不足和改进之处。
3.13KB
文件大小:
评论区