指针函数与函数指针的区别

2022-08-06 00:00 评论 0 条

这种指针就是函数指针。

**2.函数指针使用的例子**上面我们定义了一个函数指针,但如何来使用它呢?先看如下例子:12345678910111213141516171819202122232425|`include``include``char``*fun(``char``*p1,``char``*p2)```---|---参考:陈正冲老师的《c语言深度剖析》。

该数学函数通过存储在数组funcTable中的指针调用获得。

我曾看过lam-mpi在启动集群中每个结点的进程时的实现,该模块的最上层就是一个结构体,这个结构体中仅是由函数指针构成,每个函数指针都指向一个子模块,这样做的好处就是在运行时期间可以自由的切换子模块。

这样的好处就是,如果以后对求和函数有优化,比如新写了个`func_sum2`函数的实现,我们只需要在调用回调函数的地方将函数指针指向`func_sum2`即可,而无需去修改`callback`函数内部。

参考:http://blog.chinaunix.net/uid-25572546-id-2939029.html,我们都知道,数组名就是指向数组第一个元素的常量指针。

**2.语法**指向函数的指针变量的一般定义形式为:数据类型(*指针变量名)(参数表);**3.说明**1)函数指针的定义形式中的数据类型是指函数的返回值的类型。

如何用函数指针调用函数intFunc(intx);/*声明一个函数*/int(*p)(intx);/*定义一个函数指针*/p=Func;/*将Func函数的首地址赋给指针变量p*/赋值时函数Func不带括号,也不带参数。

函数指针的定义函数指针虽然也是指针,但它的定义方式却和其他指针看上去很不一样,我们来看看它是如何定义的:/*方法1*/void(*p_func)(int,int,float)=NULL;/*方法2*/typedefvoid(*tp_func)(int,int,float);tp_funcp_func=NULL;这两种方式都是定义了一个指向返回值为void类型,参数为(int,int,float)的函数指针。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:指针函数与函数指针的区别 | bwin客户端登录 – 最新官网app下载
分类:域名主机 标签:

发表评论


表情