指向函数的指针数组的小测试

代码:

#include<iostream>
using namespace std;
void fun(void)
{
cout << "hello world" << endl;
}
void fun1(void)
{
cout << "mio" << endl;
}

int main()
{

void(*pa[2])(void);     //直接定义一个指向该类型函数的指针数组

//不可以这样写,void*pa[2](void),因为()的优先级高于*
pa[0] = fun;
pa[1] = *fun1;
pa[0]();
//pa[0],错误,必须要加上参数列表
pa[1]();
pa[1] = &fun1;
pa[1]();

system("pause");
}

还可以用关键字typedef定义函数类型,然后说明指针数组

代码:

#include<iostream>
using namespace std;
typedef int fun(int);
fun f1, f2, f3;
int main()
{
fun *pfun[3];
pfun[0] = f1;
}

猜你喜欢

转载自www.cnblogs.com/urahyou/p/10080262.html