首页 > 代码库 > 函数指针
函数指针
概念:函数指针指的就是指向函数的指针。
定义:void (*F)(); 此处就是表示函数指针F指向一个形参为空,返回值为void的函数。理解为一个指针变量,类似于int* p量,注意它不是一个函数声明,所以没有函数体的。
应用:定义前加个typedef void (*F)() 表示F是个类型了,void f(); F=f;或者F=&f;结论就是直接函数名相当于在其取个地址符。
另外:定义前加个typedef void (*F)() 表示F是个类型了,那么F类型就类似于 typedef Intp *int; 将类型取名;此处可以理解为 typedef F void(*)();。
函数若是通过typedef则其实不在是个函数,而是一个函数变量。例如typedef int func(int*,int);可以理解为 typedef func int (int*,int),表示func是个函数变量,其实质也就是指针函数所指函数的类型。也就是函数类型的意思。我们知道对于函数形参则可以利用函数名,因为函数名可以转为函数指针;而不能用于返回类型,因为函数返回的函数指针的话,那么是不能有函数类型转为函数指针类型的。
-----------
函数指针对于高级语言而言,它被内封了,比如对于C#它就没有指针了,那么如何制定方法呢?那么是通过所谓的句柄类指定,使用委托,其实质委托就是利用函数指针内部实现。
函数指针
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。