函数指针
一个函数在编译时被分配一个入口地址,将这个入口地址称为函数的指针,
可以用一个指针变量指向该函数指针,然后通过该变量来调用函数。
有关说明:
1、函数指针的声明格式:
函数返回值类型(*指针变量名)(参数类型列表)
或者是:
typedef 函数返回值类型 (*指针变量名)(参数类型列表)
2、一个函数指针只能指向一种类型的函数,即具有相同的返回值和相同的
参数的函数
3、关于函数指针的加减运算没有意义
函数指针数组定义:
函数定义:
void fun1(void *p);
void fun2(void *p);
void fun3(void *p);
函数指针数组定义:
void(*fun[3])(void*);//typedef void(*pfun)(void*); pfun fun[3];
指针赋值:
fun[0] = fun1;
fun[1] = fun2;
fun[2] = fun3;
函数调用:
fun[0](&a); //int a;
fun[1](&b); //int b;
fun[3](&c); //int c;