#include <stdio.h>
// 定义结构体
struct Student {
char name[20];
int age;
};
int main() {
// 创建结构体指针数组
struct Student* students[3];
// 为三个学生信息赋值
struct Student student1 = {"Alice", 20};
struct Student student2 = {"Bob", 21};
struct Student student3 = {"Charlie", 22};
students[0] = &student1;
students[1] = &student2;
students[2] = &student3;
// 通过指针数组遍历并输出每个学生的姓名和年龄
for (int i = 0; i < 3; i++) {
printf("Name: %s, Age: %d\n", students[i]->name, students[i]->age);
}
return 0;
}
指针数组与结构体变量值类型的关联和交互
- 关联:指针数组中的每个元素都是一个指针,它指向一个结构体变量。在上述代码中,
students
数组中的元素分别指向 student1
、student2
和 student3
这三个结构体变量。
- 交互:通过指针数组,我们可以方便地访问和操作这些结构体变量。使用
->
操作符,可以访问指针所指向的结构体变量的成员。例如,students[i]->name
访问了第 i
个学生的姓名,students[i]->age
访问了第 i
个学生的年龄。这种方式使得我们可以通过数组的索引来统一管理多个结构体变量,提高代码的灵活性和可维护性。