在C语言中,结构体指针是一个指向结构体变量的指针,通过结构体指针,我们可以间接访问结构体的成员。
定义结构体指针的基本语法如下:
```c
struct 结构体名 *指针名;
其中,`结构体名` 是已定义的结构体类型,`指针名` 是你给指针变量起的名字。 例如,如果我们有一个名为 `Student` 的结构体,它包含 `name` 和 `age` 两个成员,我们可以这样定义一个指向 `Student` 类型的指针: ```c struct Student { char name[50]; int age; }; struct Student *ptr;
在这个例子中,`ptr` 是一个指向 `Student` 类型的指针,你可以通过这个指针来访问和修改 `Student` 类型的变量。
ptr = malloc(sizeof(struct Student)); // 为结构体分配内存
strcpy(ptr->name, "Alice"); // 通过指针访问结构体的成员
ptr->age = 20; // 通过指针修改结构体的成员
```
在使用完结构体指针后,需要使用 `free()` 函数释放内存,以避免内存泄漏。