c语言中函数指针和指针函数
时间: 2024-01-26 11:13:25 浏览: 102
c语言函数指针
函数指针和指针函数是C语言中的两个重要概念,它们虽然涉及到指针和函数的结合使用,但实际上表示了不同的含义和用法。
1. 函数指针(Function Pointer)是指可以指向函数的指针变量。通过函数指针,我们可以在程序运行时动态地调用不同的函数。函数指针的定义和用法如下所示:
```c
// 定义函数指针
返回值类型 (*指针变量名)(参数列表);
// 使用函数指针调用函数
指针变量名 = 函数名;
指针变量名(参数列表);
```
例如,我们可以定义一个函数指针变量`p`,指向一个返回类型为`int`、参数列表为`int`的函数,并通过函数指针调用该函数:
```c
int add(int a, int b) {
return a + b;
}
int (*p)(int, int); // 定义函数指针变量
p = add; // 指向add函数
int result = p(3, 4); // 调用add函数,返回结果7
```
2. 指针函数是指返回指针类型的函数。指针函数的定义和用法如下所示:
```c
// 定义指针函数
返回值类型 *函数名(参数列表);
// 使用指针函数返回指针
返回值类型 *p = 函数名(参数列表);
```
例如,我们可以定义一个指针函数`getMax`,返回类型为`int*`,参数列表为两个`int`类型的数值,并返回较大的数值的指针:
```c
int* getMax(int a, int b) {
if (a > b) {
return &a;
} else {
return &b;
}
}
int a = 3, b = 4;
int *p = getMax(a, b); // 返回较大的数值的指针
int result = *p; // 获取指针指向的数值,结果为4
```
阅读全文