使用指针将数组的值依次赋给结构体字段
时间: 2024-04-22 11:24:43 浏览: 15
要将数组的值依次赋给结构体字段,可以使用指针来实现。下面是一个示例代码:
```c
#include <stdio.h>
// 定义结构体
typedef struct {
int x;
int y;
int z;
} Point;
int main() {
int arr[] = {1, 2, 3};
Point point; // 定义结构体变量
int *ptr = arr; // 将数组的首地址赋给指针变量
// 使用指针逐个赋值给结构体字段
point.x = *(ptr++);
point.y = *(ptr++);
point.z = *ptr;
// 输出结构体字段的值
printf("x: %d\n", point.x);
printf("y: %d\n", point.y);
printf("z: %d\n", point.z);
return 0;
}
```
在上面的示例中,我们定义了一个结构体 `Point`,它有三个整型字段 `x`、`y`、`z`。然后,我们定义了一个整型数组 `arr`,并将其初始化为 `{1, 2, 3}`。接下来,我们声明了一个指针变量 `ptr`,并将数组的首地址赋给它。
通过使用指针 `ptr` 和逐个访问数组元素来赋值给结构体字段 `point.x`、`point.y`、`point.z`,我们可以将数组的值依次赋给结构体的字段。
输出结果为:
```
x: 1
y: 2
z: 3
```
这样,数组的值就被成功赋给了结构体的字段。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)