C语言如何把一个数组内的某个部分,拷贝至另一个数组(C Primer Plus 10 -8)

如题所述

为实现将数组中一部分元素拷贝至另一数组的功能,需编写一个函数,该函数接受源数组、目的数组及元素拷贝范围。以下示例展示了如何使用C语言完成此任务。

首先,定义拷贝函数。此函数接收三个参数:源数组、目的数组及元素的起始索引和结束索引(不包含结束索引)。函数实现过程如下:

c
void copyArrayPart(int source[], int dest[], int start, int end) {
for (int i = start; i < end; i++) {
dest[i - start] = source[i];
}
}

接着,定义包含源数组和目的数组的函数。源数组包含7个元素,而目的数组包含3个元素。通过调用上述拷贝函数,将源数组中第3到第5个元素(索引为2到4)拷贝至目的数组。

c
int main() {
int source[7] = {1, 2, 3, 4, 5, 6, 7};
int dest[3];
copyArrayPart(source, dest, 2, 5);

// 输出目的数组元素
for (int i = 0; i < 3; i++) {
printf("%d ", dest[i]);
}
return 0;
}

执行上述程序后,输出结果为`3 4 5`。这说明源数组中第3到第5个元素已成功拷贝至目的数组中。

总结,通过自定义拷贝函数,根据元素索引范围,可以实现数组部分元素的拷贝。此方法适用于多种应用场景,简化了代码复用和维护。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜