结构体指针数组举个例子
时间: 2024-03-19 08:37:47 浏览: 66
结构体指针数组是指一个数组中的每个元素都是指向结构体的指针。通过使用结构体指针数组,可以方便地管理和操作多个结构体对象。
举个例子,假设我们有一个学生信息的结构体,包含学生的姓名和年龄:
```c
typedef struct {
char name[20];
int age;
} Student;
```
现在我们需要管理多个学生的信息,可以使用结构体指针数组来实现。首先定义一个结构体指针数组,并为每个学生分配内存空间:
```c
Student* students[3]; // 定义一个包含3个学生的结构体指针数组
students[0] = (Student*)malloc(sizeof(Student)); // 为第一个学生分配内存空间
strcpy(students[0]->name, "Alice"); // 设置第一个学生的姓名
students[0]->age = 18; // 设置第一个学生的年龄
students[1] = (Student*)malloc(sizeof(Student)); // 为第二个学生分配内存空间
strcpy(students[1]->name, "Bob"); // 设置第二个学生的姓名
students[1]->age = 19; // 设置第二个学生的年龄
students[2] = (Student*)malloc(sizeof(Student)); // 为第三个学生分配内存空间
strcpy(students[2]->name, "Charlie"); // 设置第三个学生的姓名
students[2]->age = 20; // 设置第三个学生的年龄
```
通过结构体指针数组,我们可以方便地访问和修改每个学生的信息。例如,可以打印出每个学生的姓名和年龄:
```c
for (int i = 0; i < 3; i++) {
printf("学生姓名:%s,年龄:%d\n", students[i]->name, students[i]->age);
}
```
这样就可以输出每个学生的信息了。
阅读全文