函数参数传值数组元素做形参、实参例子
时间: 2024-12-14 10:26:13 浏览: 9
当使用函数参数传递数组元素作为形参(形式参数)时,通常会在函数里通过索引来访问数组中的每个元素,就像处理单个变量一样。下面是一个简单的例子,用C语言来说明:
```c
#include <stdio.h>
// 定义一个函数,接受整型数组和长度作为参数
void printArray(int arr[], int size) {
for (int i = 0; i < size; i++) {
printf("Element at index %d is: %d\n", i, arr[i]);
}
}
int main() {
int numbers[] = {1, 2, 3, 4, 5};
int length = sizeof(numbers) / sizeof(numbers[0]); // 获取数组长度
printArray(numbers, length); // 调用函数,打印数组元素
return 0;
}
```
在这个例子中,`printArray`函数接受一个整数数组`arr`和它的大小`size`作为参数。然后它遍历数组并打印每个元素及其索引。
相关问题
5. C语言中,参数传递方式可以细分为传值和传指针(传指针也属于传值),编写C语言函数的时候,什么情况下需要用传值,什么情况下需要用传指针?
在C语言中,参数传递方式主要分为传值和传指针。理解这两种方式的使用场景对于编写高效、正确的代码非常重要。
1. **传值**:
- **定义**:传值是指将实参的值复制一份传递给形参。函数内部对形参的修改不会影响到实参。
- **使用场景**:
- 当函数只需要读取参数的值而不需要修改它时。
- 当参数是基本数据类型(如int、char、float等)时。
- 当参数是一个结构体且函数不需要修改结构体的内容时。
2. **传指针**:
- **定义**:传指针是指将实参的地址传递给形参。函数内部可以通过指针操作来修改实参的值。
- **使用场景**:
- 当函数需要修改传入参数的值时。
- 当参数是一个大型结构体或数组时,传指针可以避免复制整个结构体或数组,提高效率。
- 当需要动态分配内存时。
**示例**:
```c
#include <stdio.h>
// 传值示例
void increment(int value) {
value++;
}
// 传指针示例
void increment_ptr(int *value) {
(*value)++;
}
int main() {
int a = 5;
increment(a);
printf("After increment (by value): %d\n", a); // 输出: 5
increment_ptr(&a);
printf("After increment (by pointer): %d\n", a); // 输出: 6
return 0;
}
```
在这个例子中,`increment`函数通过传值的方式传递参数,函数内部的修改不会影响到外部的变量`a`。而`increment_ptr`函数通过传指针的方式传递参数,函数内部的修改会影响到外部的变量`a`。
阅读全文