开发者社区> 问答> 正文

指向函数的指针不需要定义?

我看《C程序设计语言》书,看到103页时,有一个关于指向函数的指针把我看糊涂了。如图所示
screenshot
数指针就是里面那个comp。可我找了半天也找不到它在哪里定义的,那么当调用它时它是怎么转换的呢?比如那个?:返回的是numcmp,那么最后是怎么转到numcmp函数里面呢?

展开
收起
a123456678 2016-03-23 13:25:07 1877 0
1 条回答
写回答
取消 提交回答
  • 题主弄混了一个关键的概念:指向函数指针的本质是什么,在这里也就是您所说的comp。
    请注意,这里的comp其实是一个变量,一个指针变量。而不是楼主所认为的函数!它不需要包含任何代码,因为它是一个指针变量。当这个comp被赋值以后【一般都是赋一个函数代码段地址值】,那么运行时,有关comp的代码语句都会直接把comp换成这个地址值,比如您截图中的numcmp,当把它赋值给comp以后,以后再遇到comp时,就会直接调用numcmp,而不是从comp“函数里”转到numcmp。

    请题主看下面的图片代码:
    screenshot

    2019-07-17 19:10:45
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载