结构体指针定义

admin 33 0

在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()` 函数释放内存,以避免内存泄漏。