函数指针指向特定类型。 函数的类型由其参数和返回类型决定,与函数名无关。 个人认为,所谓函数指针其实就是我们回调函数的指针的一种形式,类似于传递对象。 当我们得到对象之后,我们就可以调用这个对象中的函数/过程
让我们看一个例子
定义类型:
简单来说,就是将这种形式的函数定义为一个类型,然后我们通过这个类型定义一个变量。 变量的值是一个函数。 当我们调用该变量时,实际上是在调用该变量所指向的函数。 ,从而达到动态调用函数的目的(其实我更愿意说是回调)
定义实例函数
这些函数的名称是什么并不重要。 这些函数将用来给我们之前定义的函数类型赋值,但是参数列表和返回值类型必须与之前定义的函数类型一致。
调用代码
显然,这种调用方式比直接调用要麻烦很多,那么为什么我们要采用这种方式呢?
因为有些情况下,调用什么样的函数需要在实践中(运行时)决定,可以根据条件来判断。 使用同一个表达式调用不同的函数是非常灵活的。
实现回调机制
虽然现在大家都在讲面向对象,但是如果我们能够很好的掌握函数指针的使用,对于我们写代码的时候也会有很大的帮助。
再比如,我们使用函数指针作为函数的参数,通过传递不同的实例函数来实现不同函数的调用
上面动态函数的使用示例
从上面的例子我们大概可以看出我们在调用函数的时候传递了两个参数,第一个是我们真正的函数(我们可以称之为函数实例),第二个参数就是我们传递给函数实例的数据
今天的内容到此结束。 我可以帮你理清理论知识。 代码练习只能自己完成。 永远不要指望某个老师或几个教程就能解决你所有的问题
写在最后:纸上谈兵终究会变得肤浅,这件事需要你自己清醒! 与你分享!