c语言如何在函数中传入数组
时间: 2024-09-15 17:15:35 浏览: 54
在C语言中,你可以通过指针来在函数中传递数组。这是因为数组名本质上是一个指向数组首元素的指针。这里有两个常见的方式:
1. **通过值传递** (Pass by Value):
```c
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
}
int myArray[5] = {1, 2, 3, 4, 5};
printArray(myArray, sizeof(myArray) / sizeof(myArray[0]));
```
在这个例子中,`myArray`只是一个副本,函数内的修改不会影响原始数组。
2. **通过地址传递** (Pass by Reference):
```c
void swapArray(int *arr1, int *arr2, int size) {
int temp;
for (int i = 0; i < size; i++) {
temp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = temp;
}
}
int anotherArray[5] = {6, 7, 8, 9, 10};
int myArray[] = {1, 2, 3, 4, 5};
swapArray(myArray, anotherArray, sizeof(myArray) / sizeof(myArray[0]));
```
这里通过指针间接修改了原数组,因为实际操作的是指针所指向的数据。
阅读全文