结构体指针初始化

admin 31 0

结构体指针初始化

在C语言中,结构体是一种可以存储不同类型数据的数据结构,有时候,我们需要使用指针来操作结构体,这就需要先初始化指针,下面是一个简单的例子,演示如何初始化结构体指针。

假设我们有一个结构体,它包含两个整数和一个浮点数:

```c

typedef struct {

int a;

int b;

float c;

} MyStruct;

现在,我们声明一个指向MyStruct类型的指针,并将其初始化为一个结构体变量的地址:


```c
MyStruct my_struct = {1, 2, 3.0};
MyStruct *ptr = &my_struct;

在上面的代码中,我们首先定义了一个MyStruct类型的变量my_struct,并给它赋初值,我们声明一个指向MyStruct类型的指针ptr,并将其初始化为my_struct的地址,我们可以使用指针来访问my_struct中的数据:

printf("a = %d\n", ptr->a); // 输出:a = 1

printf("b = %d\n", ptr->b); // 输出:b = 2

printf("c = %f\n", ptr->c); // 输出:c = 3.000000

```

在上面的代码中,我们使用箭头运算符(->)来访问结构体指针的成员,这个运算符是C语言中的一个简写形式,它等价于(*ptr).a、(*ptr).b和(*ptr).c。