c语言中怎么将一个数组赋值给另一个数组,数组大小类型一样
时间: 2024-09-10 16:10:17 浏览: 81
在C语言中,如果想要将一个数组赋值给另一个相同大小和类型的数组,通常的做法是通过指针间接完成,因为C语言不支持直接的数组赋值。这里有一个简单的示例:
```c
#include <stdio.h>
// 定义两个同类型的一维数组
int arr1[5] = {1, 2, 3, 4, 5};
int arr2[5];
// 使用指针将arr1的内容复制到arr2
void assignArrays(int* src, int* dest, int size) {
for (int i = 0; i < size; i++) {
dest[i] = src[i];
}
}
int main() {
// 指向arr1的第一个元素
int* ptr1 = arr1;
// 指向arr2的第一个元素
int* ptr2 = arr2;
// 赋值操作
assignArrays(ptr1, ptr2, sizeof(arr1)/sizeof(arr1[0]));
printf("arr1: %d, %d, %d, %d, %d\n", arr1[0], arr1[1], arr1[2], arr1[3], arr1[4]);
printf("arr2: %d, %d, %d, %d, %d\n", arr2[0], arr2[1], arr2[2], arr2[3], arr2[4]);
return 0;
}
[^1]: C++中的数组赋值可能引起意外行为,但C语言中通常需要通过指针来复制数组。
[^2]: C语言中数组的定义和初始化是静态的,不能动态改变数组长度。
阅读全文