写一段深拷贝数组的代码
时间: 2023-04-03 08:05:24 浏览: 145
javascript中数组深拷贝途径及对象数组深拷贝
5星 · 资源好评率100%
以下是深拷贝数组的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int* deepCopy(int* arr, int size) {
int* copy = (int*) malloc(size * sizeof(int));
memcpy(copy, arr, size * sizeof(int));
return copy;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(int);
int* copy = deepCopy(arr, size);
for (int i = 0; i < size; i++) {
printf("%d ", copy[i]);
}
free(copy);
return 0;
}
```
以上代码使用了 `memcpy` 函数来实现深拷贝,可以复制整个数组到新的内存空间中,避免了浅拷贝可能带来的问题。
阅读全文