在C语言中,结构体是一种复杂的数据类型,它可以将不同类型的多个变量组合在一起形成新的数据类型。而结构体指针则是指向结构体变量的指针,它允许我们通过地址操作结构体中的元素,从而提高程序的效率和灵活性。下面通过一个具体的实例来详细阐述结构体指针的使用。
#include <stdio.h>
// 定义一个结构体类型Student,包含姓名(name)、年龄(age)和成绩(score)
struct Student {
char name[50];
int age;
float score;
};
// 声明一个结构体指针变量,类型为指向Student结构体的指针
struct Student* pStudent;
int main() {
// 创建一个Student结构体变量s1
struct Student s1;
// 初始化s1的成员
strcpy(s1.name, "Tom");
s1.age = 20;
s1.score = 85.5;
// 将s1的地址赋值给结构体指针pStudent
pStudent = &s1;
// 此时,通过结构体指针pStudent可以访问和修改s1的成员
printf("Student's name: %s\n", pStudent->name); // 使用"->"运算符访问结构体成员
printf("Student's age: %d\n", pStudent->age);
printf("Student's score: %.1f\n", pStudent->score);
// 修改结构体成员的值
(*pStudent).ag