任务描述
本关任务:编写一个以链表为基础的学生信息管理小程序。
相关知识
为了完成本关任务,你需要掌握:
-
结构体的使用;
-
单向链表的插入、删除和遍历;
-
头结点。
结构体
在 C++ 中,结构体与接下来要介绍的类的概念差别不大,所以这里主要是介绍它在 C 语言中的经典用法。
结构体的声明分为3部分,一般表现形式如下:
struct <结构体名>{<成员变量>};
例如:
struct Test // 声明一个名为 Test 的结构体,它有两个成员变量 A,B
{
int A;
char B;
}; //不要忘了这个分号
声明好结构体之后,就可以声明这个结构体类型的变量,语法与声明 int ,char 这些类型的变量一样。对于结构体变量,可以使用.成员运算符访问它的成员变量。
例如:
/* Test类的声明同上 */
int main()
{
Test t1; // 声明一个结构体变量
t1.A = 10; // 访问 A 成员变量
t1.B = 'A'; // 访问 B 成员变量
Test t2 = t1; // 将其赋值给另一结构体变量
}
同样也可以声明结构体的指针,这个时候要访问它所指的对象的成员,可以用面向指针的->
成员运算符。
例如:
/* Test类的声明同上 */
Test t;
Test *ptr = &t;
ptr->A = 10; // 通过指针访问 A 成员
ptr->B = 'A'; // 通过指针访问 B 成员