区别:运行效率不同 ,直接调用函数指针运行效率高(ps:大量数据的时候) 原因:调用函数的时候,由于runtime机制,通过方法objc_msgSend() 把函数的调用对象和方法名发送出去 根据对象名找到对象类存储的函数函数列表MethordList,再根据方法名找到MethordList 中的函数指针method_imp,再根据函数指针调用响应函数 实现原理 任...
函数指针指向一个函数的入口地址,也就是函数存储空间的首地址。在C语言中,数组名代表数组的首地址,同样函数名代表了函数的首地址,因此在赋值时,直接将函数指针指向函数名就行了。因此函数指针调用vs直接调用,占用的存储空间都是一样的。相当于数组指针和数组名的关系,指向的都是同一个数组。局部变...
通过函数指针调用函数..本质上是么有区别的,但是假如你需要将函数作为参数传递给另外一个函数时,好像只能使用函数指针,这样程序才会有更多的弹性(至于什么是弹性可以理解为可复用性)
具体的定义我就不说了,最直观的区别就是一个在dll/so里,另一个在当前的可执行文件里。你说的“直...