函数指针和指针函数c语言
时间: 2023-12-06 19:28:49 浏览: 107
在C语言中,函数指针和指针函数是两个不同的概念。
1. 函数指针:函数指针是指向函数的指针变量。它可以用来调用函数或者将函数作为参数传递给其他函数。函数指针的声明方式为:返回类型 (*指针变量名)(参数列表)。以下是一个示例:
```c
#include <stdio.h>
int add(int a, int b) {
return a + b;
}
int main() {
int (*funcPtr)(int, int); // 声明一个函数指针
funcPtr = add; // 将函数的地址赋值给函数指针
int result = funcPtr(3, 4); // 通过函数指针调用函数
printf("Result: %d\n", result);
return 0;
}
```
输出结果为:Result: 7
2. 指针函数:指针函数是返回指针类型的函数。它可以返回一个指向某种类型的指针。指针函数的声明方式为:返回类型 (*函数名)(参数列表)。以下是一个示例:
```c
#include <stdio.h>
int* createArray(int size) {
int* arr = (int*)malloc(size * sizeof(int));
for (int i = 0; i < size; i++) {
arr[i] = i + 1;
}
return arr;
}
int main() {
int* (*funcPtr)(int); // 声明一个指针函数指针
funcPtr = createArray; // 将指针函数的地址赋值给指针函数指针
int* array = funcPtr(5); // 通过指针函数指针调用指针函数
for (int i = 0; i < 5; i++) {
printf("%d ", array[i]);
}
free(array);
return 0;
}
```
输出结果为:1 2 3 4 5
阅读全文