首先知道什么是函数指针:
函数指针是一个指针,不是函数,没有办法调用,它指向的那个函数才能被调用例如
1 #include <iostream>
2
3 using std::cout;
4 using std::endl;
5
6 void display()
7 {
8 cout << "display()" << endl;
9 }
10
11 int main()
12 {
13 void (*p) ();//这是一个函数指针,它是一个指针变量,它的变量名是p, 它可以指向一个返回值为void, 参数为void的函数
14 p = display;
15 p();
16
17 return 0;
18 }
运行结果:
所以,函数也是一种类型,类似于int; 下面是一个例子
1 #include <iostream>
2
3 using std::cout;
4 using std::endl;
5 //函数也是一种类型
6
7 //这里定义了一个函数类型,名字叫做FunctionType, 类似于int,
8 typedef void(*FunctionType) ();
9
10 void display()
11 {
12 cout << "display()" << endl;
13 }
14
15 int main(void)
16 {
17 //定义了一个变量名,叫做f,这个f是一个函数类型,它可以用一个函数名来初始化,然后可以调用
18 FunctionType f