在c语言中,一个函数总是占用一段连续的内存区,而函数名就是该函数所占内存区的首地址(入口地址),所以函数名跟数组名很类似,都是指针常量。
函数指针就是指向这个入口地址的指针变量,注意函数指针是一个变量
将函数名改成(*指针名)就可以了
形式1:返回类型(*函数名)(参数表)
void (*pFun)(int);
void glFun(int a){ return;}
void main()
{
pFun = glFun;
(*pFun)(2);
}
形式2:typedef 返回类型(*新类型)(参数表)
将之前的函数名改成(*新类型)就行了
typedef void (*PTRFUN)(int);
PTRFUN pFun;
void glFun(int a){ return;}
void main()
{
pFun = glFun;
(*pFun)(2);
}