函数指针的定义是什么

 我来答
华源网络
2022-05-29 · TA获得超过5596个赞
知道小有建树答主
回答量:2486
采纳率:100%
帮助的人:147万
展开全部

函数指针的定义是什么

  顾名思义,函数指针就是函数的指针。它是一个指针,指向一个函数。看例子:

  A),char * (*fun1)(char * p1,char * p2);

  B),char * *fun2(char * p1,char * p2);

  C),char * fun3(char * p1,char * p2);

  数组参数等效的指针参数

  数组的数组:char a[3][4] 数组的指针:char (*p)[10]

  指针数组: char *a[5] 指针的指针:char **p

  看看上面三个表达式分别是什么意思?

  C):这很容易,fun3 是函数名,p1,p2 是参数,其类型为char *型,函数的`返回值为char *类型。

  B):也很简单,与C)表达式相比,唯一不同的就是函数的返回值类型为char**,是个二级指针。

  A):fun1 是函数名吗?回忆一下前面讲解数组指针时的情形。我们说数组指针这么定义或许更清晰:

  int (*)[10] p;

  再看看A)表达式与这里何其相似!明白了吧。这里fun1 不是什么函数名,而是一个指针变量,它指向一个函数。这个函数有两个指针类型的参数,函数的返回值也是一个指针。

  同样,我们把这个表达式改写一下:char * (*)(char * p1,char * p2) fun1; 这样子是不是好看一些呢?只可惜编译器不这么想

;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式