这条语句定义了一个函数指针类型 func,该函数指针指向一个无返回值、无参数的函数。
具体来说,typedef 是一个关键字,它用于定义一种新的类型名。void (*func)(void) 是一个函数指针类型的声明,其中 void 表示函数没有返回值,(void) 表示函数没有参数,*func 表示这是一个指向函数的指针类型。
typedef void (*func)(void); 将这个函数指针类型定义为 func,使得以后可以用 func 来代替 void (*)(void) 这个函数指针类型。这样,我们可以用 func 来定义一个指向无返回值、无参数的函数的指针,而不必再写一长串的函数指针类型了。
示例如下。
#include <iostream>
using namespace std;
typedef void (*func)(void); // 定义函数指针类型 func
void foo() {
cout << "Hello, world!" << endl;
}
int main() {
func ptr = &foo; // 定义函数指针 ptr,使其指向函数 foo
ptr(); // 通过函数指针 ptr 调用函数 foo
return 0;
}
//输出如下
Hello, world!
文章介绍了如何使用typedef定义一个函数指针类型func,该类型指向无返回值且无参数的函数。通过示例展示了如何声明和使用func类型的指针调用函数,简化了代码的可读性。
2491





