C/C++ 快速搞懂函数指针数组

我们见过将不同的指针类型放进数组存放,这样的数组我们称之为指针数组

例如:

char* a=NULL;

 char* b=NULL;

char* p[2] = {a,b};

这里面的p就是指针数组。

由上面的例子,我们知道指针可以存放在数组当中,那么小伙伴们现在肯能会很好奇,函数可以存放在数组当中吗?答案是肯定的,我们称存放函数地址的数组叫函数指针数组。下面请看一段代码

——————————————————————————————————————————

int add(int x, int y)
{
    return x + y;
}

int func3(int a,int b){
    printf("This is function 3\n");
}

 main()

{

        int (*p3)(int a,int b);//这是一个返回值为int,两个参数为int,的函数指针

        p3=add;//将函数地址存放在指针p3中

        int (*arr2[3])(int xx,int yy) = {p3,func3}; //将p3和func3存放在函数指针数组中

        return 0;

}

--------------------------------------------------------------------------

函数指针这样写

int (*p3)(int a,int b);

函数指针数组就这样写

int (*arr2[3])(int xx,int yy);

以后碰到所有类似的问题都可以这样照葫芦画瓢写,有什么不懂的请评论区留言。

如果这个仔细看完你还不懂,那说明你函数指针、指针函数、指针数组、数组指针没有学明白,请好好学习后,再来观看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

foreverInDebug Hou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值