指向结构体的指针数组,应用
时间: 2023-08-22 09:08:56 浏览: 111
指向结构体的指针数组可以用于存储多个结构体的地址,方便对这些结构体进行操作和管理。下面是一个示例,演示了如何定义、初始化和使用指向结构体的指针数组:
```C
#include <stdio.h>
// 定义一个结构体
typedef struct {
int id;
char name[20];
} Student;
int main() {
// 定义一个包含三个结构体指针的数组
Student* students[3];
// 初始化结构体及其指针
Student student1 = { 1, "Alice" };
Student student2 = { 2, "Bob" };
Student student3 = { 3, "Charlie" };
students[0] = &student1;
students[1] = &student2;
students[2] = &student3;
// 使用指针数组访问结构体成员
printf("Student 1: ID=%d, Name=%s\n", students[0]->id, students[0]->name);
printf("Student 2: ID=%d, Name=%s\n", students[1]->id, students[1]->name);
printf("Student 3: ID=%d, Name=%s\n", students[2]->id, students[2]->name);
return 0;
}
```
在上述示例中,我们定义了一个包含三个指向 `Student` 结构体的指针的数组 `students`。然后,我们通过取地址运算符 `&` 将结构体的地址赋值给指针数组的元素。之后,我们可以使用指针数组来访问每个结构体的成员。
输出结果将是:
```
Student 1: ID=1, Name=Alice
Student 2: ID=2, Name=Bob
Student 3: ID=3, Name=Charlie
```
这个示例展示了如何使用指向结构体的指针数组来存储和访问多个结构体的数据。你可以根据自己的需求进行扩展和修改。
阅读全文