码迷,mamicode.com
首页 > 编程语言 > 详细

C#委托与C语言函数指针及函数指针数组

时间:2015-12-21 00:01:22      阅读:512      评论:0      收藏:0      [点我收藏+]

标签:

C#委托与C语言函数指针及函数指针数组

  在使用C#时总会为委托而感到疑惑,但现在总新温习了一遍C语言后,才真正理解的委托。

  其实委托就类似于C/C++里的函数指针,在函数传参时传递的是函数指针,在调用的时候通过指针访问这个函数。

  在C语言中函数指针的申明如下:

 

//可以理解为申明一个指着变量 Func ,它的类型是 返回Type(可以为 void )类型的参数,接收 (Type one,Type two,...)类型的
//参数(可以不接受参数)。
Type *Func(Type one,Type two,...)

 

   在C语言中函数指针数组申明如下:

//类似于上面的理解,申明一个Func 指针数组,它的长度为num ,它的类型为 int ()(Type one,Type two,...)类型
Type (*Func[num])(Type one,Type two,...)

  在函数中作为参数传递:

//在使用函数 TestFunc 时,需要传一个具有相同的类型申明( Type ()(Type one,Type two,...) )的函数过来,这
//样就可以使得函数更灵活,能根据具体的需求传入相应的函数来使得代码的重用性增加。
Type TestFunc(Type value1,Type value2,Type *Func(Type one,Type two,...)) { Func(value1,value2,...); }

虽说在C#里没有指针(实际上是有的),但深入理解指针的概念与用法对C#的学习还是很有用的。

 

C#委托与C语言函数指针及函数指针数组

标签:

原文地址:http://www.cnblogs.com/SilentCode/p/5062173.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!