帮我写一个数组拼接的函数
时间: 2024-03-16 17:44:57 浏览: 18
当你说“数组拼接”的时候,我假设你是指将两个数组合并成一个新数组。下面是一个简单的C语言函数示例,用于将两个整型数组合并:
```c
#include <stdio.h>
#include <stdlib.h>
int* arrayConcat(int* arr1, int size1, int* arr2, int size2) {
int* result = malloc((size1 + size2) * sizeof(int));
if(result == NULL) {
return NULL;
}
int i, j;
for(i = 0; i < size1; i++) {
result[i] = arr1[i];
}
for(j = 0; j < size2; j++) {
result[i + j] = arr2[j];
}
return result;
}
int main() {
int arr1[] = {1, 2, 3};
int arr2[] = {4, 5, 6};
int* result = arrayConcat(arr1, 3, arr2, 3);
int i;
for(i = 0; i < 6; i++) {
printf("%d ", result[i]);
}
free(result);
return 0;
}
```
这个函数接受两个整型数组和它们的大小作为参数,并返回一个新的整型数组,其中包含了两个原始数组的所有元素。它使用动态内存分配来分配新数组,并使用两个循环将两个原始数组的元素复制到新数组中。最后,它返回了指向新数组的指针,记得在使用完毕后释放它。