python高階函式和C語言函式指標

gaopengtttt發表於2017-09-19
python高階函式:將函式作為實參進行傳入。
C語言函式指標:將函式的指標作為實參進行傳入,函式指標也是C語言多型實現的基礎。


我們可以看到他們確實有相同之處,我們來分別看一下兩者的程式碼完成相同的功能
python:

點選(此處)摺疊或開啟

  1. def sub(a,b):
  2.     return a-b

  3. def test(a,b,c):
  4.     return c(a,b)


  5. a=test(2,1,sub);
  6. print(a);

c:

點選(此處)摺疊或開啟

  1. #include<stdio.h>

  2. typedef int (*f)(int ,int );

  3. int sub(int a,int b)
  4. {
  5.     return a-b;
  6. }


  7. int test(int a,int b,f c)
  8. {
  9.     return (*c)(a,b);
  10. }


  11. int main(void)
  12. {
  13.     printf("%d\n",test(2,1,sub));
  14. }

實際上test函式中都將sub這個函式作為引數傳入,然後主函式呼叫test函式完成一個減法而已。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-2145167/,如需轉載,請註明出處,否則將追究法律責任。

相關文章