码迷,mamicode.com
首页 > 其他好文 > 详细

函数指针

时间:2014-12-04 22:59:08      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:使用   sp   bs   ef   amp   nbsp   应用   type   方法   

概念:函数指针指的就是指向函数的指针。

定义: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#它就没有指针了,那么如何制定方法呢?那么是通过所谓的句柄类指定,使用委托,其实质委托就是利用函数指针内部实现。

函数指针

标签:使用   sp   bs   ef   amp   nbsp   应用   type   方法   

原文地址:http://www.cnblogs.com/miner007/p/4143915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!