C++编程入门 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

函数指针

在程序运行中,函数代码时程序的算法指令部分,所以函数也会占用内存空间。每个函数都有一个入口地址,指向函数入口地址的指针,称为函数指针。简单说,我们这节课学习一种新的指针类型,它指向一个函数。注意以下几点:

1.函数指针的定义格式为:函数返回类型 (*指针名) (函数参数列表);

2.省略括号的函数名代表函数的入口地址,所以函数指针的赋值格式为:指针名=函数名;注意不能带上参数列表。

3.使用指针调用函数:只需要用(*p)代替函数名即可

函数指针的使用举例:

#include <iostream>
using namespace std;
int max_int(int,int);
int main()
{
    int i,j;
    int (*pf)(int,int);
    pf=max_int;
    cout<<"请输入两个整数:"<<endl;
    cin>>i>>j;
    int max=(*pf)(i,j);
    cout<<"max="<<max<<endl;
    return 0;
}
int max_int(int x,int y)
{
    return x>y?x:y;
}

第7行定义了一个函数指针pf,它指向的函数有两个int型参数,并返回int值。第8行对函数指针赋值,使pf指向函数max_int。第11行使用指针pf调用函数。