1. 函数指针
1.1 函数指针的定义
- 函数指针:指向函数的指针变量,本质是一个指针变量。
- 函数指针有两个用途:调用函数和做函数的参数。
- 函数指针声明方法:返回值类型 ( * 指针变量名)(形参列表及类型说明){ //函数体 }
代码示例:
int func(int x);//声明一个函数 int (*f) (int x);//声明一个函数指针 f=func;//将func函数的首地址赋给指针f 或者使用下面的方法将函数地址赋给函数指针: f = &func; 赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。
注:在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了指向函数的指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样。
1.2 函数指针的实例
代码示例:
#include<iostream> using namespace std; int max(int x,int y){return (x>y? x:y);} int main() { int (*ptr)(int x, int y); int a=1, b=2, c; ptr = max; cout<<a<<", "<<b<<endl; c = (*ptr)(a,b); cout<<c<<endl; system("pause"); return 0; }
参考文献:
[1]《C++全方位学习》范磊——第十三章
[2]《C++程序设计教程(第二版)》钱能——第五章、第六章、第七章
[3]《C++ Primer(第5版)》王刚 杨巨峰——第一章、第六章
[4] 百度搜索关键字:C++函数、函数指针