c语言结构体数组复制
时间: 2024-12-24 12:13:09 浏览: 6
在C语言中,复制一个结构体数组通常涉及到逐个成员地复制每个结构体的内容。这里是一个基本的例子:
```c
#include <stdio.h>
// 定义一个结构体
struct Point {
int x;
int y;
};
// 创建结构体数组并复制
void copyStructArray(struct Point src[], struct Point dst[], int size) {
for (int i = 0; i < size; i++) {
dst[i].x = src[i].x;
dst[i].y = src[i].y;
}
}
int main() {
// 初始化源结构体数组
struct Point src[] = { {1, 2}, {3, 4}, {5, 6} };
// 创建目标结构体数组,并指定大小
struct Point dst[3];
// 调用函数复制数组
copyStructArray(src, dst, sizeof(src) / sizeof(src[0]));
// 打印原数组和复制后的数组
for (int i = 0; i < sizeof(src) / sizeof(src[0]); i++) {
printf("src[%d]: (%d, %d)\n", i, src[i].x, src[i].y);
printf("dst[%d]: (%d, %d)\n", i, dst[i].x, dst[i].y);
}
return 0;
}
```
在这个例子中,`copyStructArray` 函数接收两个结构体数组作为参数,遍历每个元素并复制它们的 `x` 和 `y` 成员。运行这个程序,你会看到源数组和复制后的数组内容完全一致。
阅读全文