c语言在副函数里利用指针修改数组中的值
时间: 2024-12-20 11:24:42 浏览: 3
在C语言中,如果你想要通过副函数(也称为函数指针或回调函数)修改数组中的值,你可以使用指针作为函数参数。首先,你需要声明一个指向数组元素类型函数的指针,然后将这个指针传递给副函数,在副函数内部,你可以通过这个指针访问并修改数组的特定元素。
下面是一个简单的示例:
```c
#include <stdio.h>
// 原始数组
int numbers[5] = {1, 2, 3, 4, 5};
// 函数原型,声明了一个接收整数指针并返回void的函数
void changeArrayValue(int* ptr) {
// 修改数组元素
(*ptr)++;
}
int main() {
// 声明函数指针并指向数组的第一个元素
int(*arrayPointer)[5] = &numbers;
// 调用副函数,并传入数组指针
changeArrayValue(arrayPointer);
// 打印修改后的数组
for (int i = 0; i < 5; i++) {
printf("numbers[%d]: %d\n", i, numbers[i]);
}
return 0;
}
```
在这个例子中,`changeArrayValue`函数接受一个整型指针,将其指向的值加一。主函数中,我们创建了`arrayPointer`来指向`numbers`数组,并将其传递给副函数。运行程序后,你会看到数组的第一个元素值变成了2。
阅读全文