c语言怎么用链表写学生信息
使用链表实现学生信息的存储和管理,可以按照以下步骤进行操作:
- 定义学生信息的结构体,包含学号、姓名、年龄等信息。
typedef struct {
int id;
char name[20];
int age;
} Student;
- 定义链表节点的结构体,包含学生信息和指向下一节点的指针。
typedef struct Node {
Student student;
struct Node *next;
} Node;
- 定义链表的头节点指针和尾节点指针,并初始化为NULL。
Node *head = NULL;
Node *tail = NULL;
- 实现添加学生信息的函数,将新学生信息作为节点插入链表末尾。
void addStudent(Student student) {
Node *newNode = (Node *)malloc(sizeof(Node));
newNode->student = student;
newNode->next = NULL;
if (head == NULL) {
head = newNode;
tail = newNode;
} else {
tail->next = newNode;
tail = newNode;
}
}
- 实现遍历链表的函数,打印所有学生信息。
void printStudents() {
Node *node = head;
while (node != NULL) {
printf("学号:%d, 姓名:%s, 年龄:%d\n", node->student.id, node->student.name, node->student.age);
node = node->next;
}
}
- 可以根据需要实现其他功能,如删除学生信息、查找学生信息等。
使用以上步骤,可以使用链表来存储和管理学生信息。