c语言数组作为函数的参数,传入函数后只保留了一个数
时间: 2024-10-23 08:15:06 浏览: 18
C语言中二维数组作为函数参数来传递的三种方法
5星 · 资源好评率100%
当你将 C 语言数组作为函数参数传递时,实际上传递的是数组的首地址(指针)。这意味着函数接收到的是数组的第一个元素的地址,并非整个数组的所有元素。当你在函数内部操作这个指针时,实际上是操作数组的第一个元素,而不会保留整个数组。这种做法可以减少内存开销,因为不需要复制整个数组。
例如:
```c
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
}
int main() {
int myArray[5] = {1, 2, 3, 4, 5};
printArray(myArray, sizeof(myArray) / sizeof(myArray[0])); // 只传递了第一个元素的地址
return 0;
}
```
在这个例子中,`printArray` 函数接收到的是 `myArray` 数组的首地址,所以在 `for` 循环里打印出的是整个数组的内容。尽管如此,函数本身并不保存数组的副本,只是对原始数组进行了操作。
阅读全文