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

代码:

#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;
}

 

posted @ 2018-12-06 23:05  裏表異体  阅读(193)  评论(0编辑  收藏  举报