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

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

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

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

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

 

//能够理解为申明一个指着变量 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,...)

  在函数中做为参数传递:code

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

虽然说在C#里没有指针(其实是有的),但深刻理解指针的概念与用法对C#的学习仍是颇有用的。blog

相关文章
相关标签/搜索