您的位置:首页 > 编程语言 > C语言/C++

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

2015-12-20 23:05 295 查看
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#的学习还是很有用的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: