采用函数调用指针思想输出10个数
时间: 2023-07-20 12:23:46 浏览: 43
好的,以下是采用函数调用指针思想输出10个数的示例代码:
```c
#include <stdio.h>
void input(int *arr, int n);
int main() {
int arr[10];
input(arr, 10);
printf("输入的数组为:");
for(int i = 0; i < 10; i++) {
printf("%d ", *(arr+i));
}
return 0;
}
void input(int *arr, int n) {
printf("请输入%d个数:\n", n);
for(int i = 0; i < n; i++) {
scanf("%d", arr+i);
}
}
```
在上面的代码中,我们定义了一个名为`input`的函数,这个函数接受两个参数,一个是指向数组的指针`arr`,另一个是数组的长度`n`。在函数内部,我们使用指针`arr`作为数组的首地址,并通过指针的方式输入数组中的每一个元素。在`main`函数中,我们定义了一个长度为10的整型数组`arr`,并调用`input`函数来输入数组中的元素。最后,我们使用循环通过指针输出数组中的每个元素。
相关问题
函数无指针 如何用创建一个指针调用函数
如果函数定义时没有使用指针作为参数,那么你需要先创建一个指向函数的指针,然后将该指针指向该函数。接着,你就可以通过该指针调用该函数了。下面是一个示例代码:
```c
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main() {
// 创建指向函数的指针
int (*p)(int, int) = add;
// 使用指针调用函数
int result = (*p)(2, 3);
printf("result: %d\n", result);
return 0;
}
```
在上面的示例代码中,我们先定义了一个名为 `add` 的函数,该函数用于计算两个整数的和。然后我们在 `main` 函数中创建了一个指向 `add` 函数的指针 `p`,并将其指向 `add` 函数。最后,我们通过指针 `p` 调用了 `add` 函数,并将返回值赋给了变量 `result`,最终将结果打印出来。
定义函数指针通过指针函数调用函数
可以通过以下代码来定义函数指针并通过指针函数调用函数:
```c
#include <stdio.h>
// 声明函数
int add(int a, int b) {
return a + b;
}
// 声明函数指针类型
typedef int (*func_ptr)(int, int);
// 定义指针函数
int handle_func_ptr(func_ptr func, int a, int b) {
return func(a, b);
}
int main() {
// 定义函数指针并指向函数
func_ptr ptr = add;
// 通过指针函数调用函数指针指向的函数
printf("%d\n", handle_func_ptr(ptr, 1, 2));
return 0;
}
```
这段代码中,首先我们通过声明一个名为`add`的函数来定义了一个加法函数。接着,我们通过`typedef int (*func_ptr)(int, int);`声明了一个函数指针类型`func_ptr`,它可以指向任何两个int参数并返回int类型的函数。然后我们定义了一个指针函数`handle_func_ptr`,它的参数是一个指向函数的指针和两个int类型的值。该函数将通过函数指针调用指向的函数。在`main`函数中,我们定义一个指向`add`函数的函数指针,并通过调用`handle_func_ptr`函数来调用函数指针指向的函数。最后,我们输出了函数调用的结果。