函数指针和指针函数c
时间: 2024-01-26 18:14:04 浏览: 102
函数指针和指针函数
5星 · 资源好评率100%
函数指针和指针函数是C语言中的重要概念。它们分别表示指向函数的指针和返回指针的函数。
1. 函数指针:
函数指针本质上是一个指针,它指向一个函数的地址。通过函数指针,我们可以在程序运行时动态地调用不同的函数。函数指针的定义方式如下:
```c
int (*fun)(int x, int y);
```
其中,`fun`是一个函数指针,它指向一个具有两个整型参数并返回整型值的函数。通过函数指针,我们可以调用相应的函数,例如:
```c
int add(int x, int y) {
return x + y;
}
int subtract(int x, int y) {
return x - y;
}
int main() {
int (*fun)(int x, int y);
fun = add;
int result = fun(3, 2); // 调用add函数,结果为5
fun = subtract;
result = fun(3, 2); // 调用subtract函数,结果为1
return 0;
}
```
2. 指针函数:
指针函数本质上是一个函数,它的返回值是一个指针。通过指针函数,我们可以返回指向某个类型的指针。指针函数的定义方式如下:
```c
int* fun(int x, int y);
```
其中,`fun`是一个指针函数,它接受两个整型参数,并返回一个指向整型的指针。通过指针函数,我们可以返回指向某个变量或数据结构的指针,例如:
```c
int* createArray(int size) {
int* arr = (int*)malloc(size * sizeof(int));
// 初始化数组...
return arr;
}
int main() {
int* (*fun)(int size);
fun = createArray;
int* arr = fun(5); // 调用createArray函数,返回一个指向大小为5的整型数组的指针
// 使用数组...
free(arr); // 释放内存
return 0;
}
```
阅读全文