您现在的位置是:首页 > 正文

函数指针的读法

2024-04-01 00:41:05阅读 2

指针的概念在C里面非常重要,而对于函数指针的理解更有利于掌握程序执行的过程。

对于以下声明 

(char*)(*f)(int*,float)

正确的阅读顺序为:

要从(*f)开始读,*f表明f为一个指针,而(*f)(int*,float*)表明f是一个函数指针,这个函数有2个参数,分别位int*和float。最后我们知道它是一个返回值为char*和参数为int*和float的函数。

另外需要明确的是,这是一个变量的声明,而不是一个类型的。也就是说,你可以给f赋值,而不能用它来声明变量。


假设有函数声明

char* fun(int* x, float y)

你可以用

f = fun;

将f赋值为这个函数,此时相当于f指向了fun函数在代码段的起始地址,然后你就可以调用了

int m = 2;

float n = 3.1;

char * result = f(&m,n);


同时,*f两边的括号是必须的,否则声明就变成了

(char*)*f(int*,float)

它会被解读为

(char**)f(int*,float)

这是一个函数原型,参数为int*和float,返回值为char**


网站文章

  • cafee matlab可视化,12个写论文必备的神经网络可视化工具

    cafee matlab可视化,12个写论文必备的神经网络可视化工具

    本文介绍了了12个将神经网络画地更好看的工具。1. draw_convnet一个用于画卷积神经网络的Python脚本链接:https://github.com/gwding/draw_convnet2...

    2024-04-01 00:40:57
  • 二叉树的二叉链表存储及基本操作

    第1关:先序遍历创建二叉链表存储的二叉树及遍历操作 本关任务:以二叉链表作存储结构存储二叉树,利用先序递归遍历创建二叉树,并依次进行二叉树的前序、中序、后序递归遍历。 #include #includ...

    2024-04-01 00:40:51
  • HTTP与HTTPS的区别,详细介绍

    HTTP与HTTPS的区别,详细介绍

    目录 HTTP与HTTPS介绍 HTTPS和HTTP的主要区别 客户端在使用HTTPS方式与Web服务器通信时的步骤 CA证书的申请及其使用过程 HTTPS的缺点 SSL与TLS的区别? SSL/TLS历史 SSL/TLS协议的基本过程 HTTPS涉及的计算环节 如何优化HTTPS的速度 HTTP与HTTPS介绍 超文本传输协议HTTP协议被用于在We...

    2024-04-01 00:40:26
  • taro-ui实现省市区三级联动

    因taro-ui没有省市区三级联动,所以我们利用它提供的Picker 实现多列选择器。<Picker mode="multiSelector" // 多列选择 ...

    2024-04-01 00:40:17
  • 9.23动手动脑

    9.23动手动脑

    方法返回类型不同,函数值相同,传参类型不同,这是方法的重载。转载于:https://www.cnblogs.com/mac-13/p/11595563.html

    2024-04-01 00:40:09
  • Android关键知识点详解

    1. Activity 2. Service 3. BroadcastReceiver 4. ContentProvider 5. Intent Android应用程序使用Java做为开发语言。aapt工具把编译后的Java代码连同其它应用程序需要的数据和资源文件一起打包到一个Android包文件中,这个文件使用.apk做为扩展名,它是分发应用程序并安装到移动设备的媒介,用户只

    2024-04-01 00:40:02
  • 云计算如何助力环保事业智慧升级?

    近年来,全球多地自然灾害频发,气候变暖问题愈发严重,一旦到达气候临界点,生态环境变化将不可逆转,环保工作刻不容缓。随着以云计算为代表的新技术的快速发展,环保工作逐渐实现了“智慧+”。“智慧环保”是“数...

    2024-04-01 00:39:37
  • css学习5:选择器简明参考

    选择器 说明 * 选取所有元素 选取指定类型的元素 . 选取指定类的元素 # 选取id属性为指定值的元素 [attr] 选取定义了attr属性,且属性值任意的元素 [attr=“val”] 选取定义了...

    2024-04-01 00:39:31
  • word自带参考文献标注功能—以word2013为例

    word自带参考文献标注功能—以word2013为例

    今天调整论文的参考文献,发现文献标注确实很麻烦,就上网搜了一下参考文献的自动标注功能,发现了一名博主的文章写的很好,然后笔者根据自己的使用经验进行了一些补充,这里分享给大家。以word2013版为例,进行说明,其他版本的选项位置可能不一样,但是操作应该大同小异。word参考文献标注功能与手工添加参考文献相比,有如下标注:专业规范:这是word专门提供的添加文献的方法;便于维护:无需...

    2024-04-01 00:39:25
  • BitTorrent 性能卓越的原因

    BitTorrent 性能卓越的原因(原文是Incentives Build Robustness in BitTorrent,不知道怎么翻译比较好?)Bram Cohenbram@bitconjurer.org2003年5月22日翻译:小马哥日期:2004-6-1概要BitTorrent 文件发布系统采用针锋相对(tit_for_tat)的方法来达到帕累托有效,与当前已知的协作技术相比,它具有更

    2024-04-01 00:39:01