关于函数指针
从指针的层次上理解函数——函数的函数名实际上就是一个指针,函数名指向该函数的代码在内存中的首地址
对此,我们写如下代码做测试:
int fun(int a) { return a; } int main() { cout << fun(22) << endl; cout << (*fun)(33) << endl; }
输出如下:
char (*pFun)(int,char); //定义函数指针 pFun,函数返回值类型为 char, 函数参数为 int,char char fun(int a, char s){ return s;} int main() { pFun = fun; //或者写为 pFun = *fun; cout << (*pFun)(1,'a') << endl; cout << (*fun)(2, 's') << endl; cout << pFun(21, 'd') << endl; cout << fun(22, 'f') << endl; }
输出为:
使用typedef定义函数指针
typedef char (*PTRFUN)(int); PTRFUN pFun; char glFun(int a){ return 's';} int main() { pFun = glFun; cout << pFun(2); }
参考链接;https://blog.csdn.net/qll125596718/article/details/6891881