typedef 拥有函数指针
时间: 2023-06-29 07:17:45 浏览: 105
typedef_函数指针.wps
是的,`typedef` 可以用于定义函数指针类型。例如,可以使用以下代码定义一个函数指针类型 `FuncPtr`:
```
typedef void (*FuncPtr)(int);
```
这个 `FuncPtr` 类型表示一个指向返回类型为 `void`、参数列表为 `int` 的函数的指针。函数指针可以被用来调用函数,也可以被当做参数传递给其他函数。例如,可以使用以下代码来定义一个函数 `callFunc`,它接受一个函数指针作为参数并调用该函数:
```
void callFunc(FuncPtr func, int arg) {
func(arg);
}
```
这个 `callFunc` 函数接受一个函数指针 `func` 和一个整数参数 `arg`,然后调用 `func(arg)`。可以使用以下代码来定义一个函数 `myFunc`,它符合 `FuncPtr` 指向的函数类型,并将该函数指针作为参数传递给 `callFunc` 函数:
```
void myFunc(int arg) {
// do something with arg
}
int main() {
FuncPtr ptr = &myFunc;
callFunc(ptr, 42);
return 0;
}
```
这个例子中,我们定义了一个函数 `myFunc`,它接受一个整数参数。然后我们创建一个函数指针 `ptr`,并将其初始化为指向 `myFunc` 函数。最后,我们将 `ptr` 函数指针和整数值 `42` 作为参数传递给 `callFunc` 函数,它将调用 `myFunc(42)`。
阅读全文