c语言将两个数组首尾相连
时间: 2024-11-15 14:07:05 浏览: 57
在C语言中,将两个数组首尾相连通常涉及到内存操作和指针技巧。假设有两个数组`array1`和`array2`,它们分别是`size1`和`size2`个元素,你可以通过动态分配新的内存空间并复制数据的方式来实现这个功能。这里是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
// 假设我们有如下两个数组
int array1[] = {1, 2, 3};
int array2[] = {4, 5, 6};
// 获取数组长度
int size1 = sizeof(array1) / sizeof(array1[0]);
int size2 = sizeof(array2) / sizeof(array2[0]);
// 计算总大小
int total_size = size1 + size2;
// 动态分配新数组
int* combined_array = (int*)malloc(total_size * sizeof(int));
// 将两个数组连接起来
if(combined_array != NULL) {
// 复制array1到combined_array
memcpy(combined_array, array1, size1 * sizeof(int));
// 如果array2非空,继续复制
if(size2 > 0)
memcpy(combined_array + size1, array2, size2 * sizeof(int));
// 打印连接后的数组
for(int i = 0; i < total_size; i++) {
printf("%d ", combined_array[i]);
}
free(combined_array); // 释放内存
} else {
printf("Memory allocation failed.\n");
}
阅读全文