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函数则用来输出所有学生的基本信息。希望能够与大家一起探讨此实现的不足和改进之处。

c 文件大小:3.13KB