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;
}
}
- 必要に応じて、学生情報の削除や検索などの機能を追加することができます。
以上の手順を使えば、学生情報を保存し管理するためにリストを使用することができます。