结构体指针

admin 27 0

结构体指针是一个指向结构体变量的指针,在C语言中,结构体是一种可以包含多个不同类型数据的数据类型,通过使用结构体指针,我们可以间接地访问和修改结构体的内容。

下面是一个简单的示例,展示了如何定义结构体、创建结构体变量、以及使用结构体指针:

```c

#include

// 定义一个结构体

struct Student {

char name[50];

int age;

float score;

};

int main() {

// 创建一个结构体变量

struct Student stu1 = {"Tom", 20, 85.5};

// 创建一个指向结构体的指针

struct Student *pStu = &stu1;

// 使用结构体指针访问结构体的成员

printf("Name: %s\n", pStu->name);

printf("Age: %d\n", pStu->age);

printf("Score: %.1f\n", pStu->score);

// 使用结构体指针修改结构体的成员

pStu->age = 21;

pStu->score = 90.0;

// 再次打印修改后的结构体成员

printf("Updated Age: %d\n", pStu->age);

printf("Updated Score: %.1f\n", pStu->score);

return 0;

}

```

在上面的示例中,我们首先定义了一个名为`Student`的结构体,它包含三个成员:`name`(字符数组)、`age`(整数)和`score`(浮点数),我们创建了一个`Student`类型的结构体变量`stu1`,并使用一个指向`Student`类型的指针`pStu`来指向它。

通过结构体指针`pStu`,我们可以使用箭头运算符(`->`)来访问和修改结构体的成员,在上面的示例中,我们打印了`stu1`的成员,并通过指针修改了`stu1`的`age`和`score`成员,然后再次打印了修改后的成员值。

结构体指针在C语言中非常有用,特别是在处理大型数据结构、动态内存分配和函数参数传递等场景中,通过使用结构体指针,我们可以更加灵活和高效地操作结构体数据。