2
A
回答
8
如果你知道函數地址,那麼是的。例如:
int add(int a, int b)
{
return a + b;
}
int sub(int a, int b)
{
return a - b;
}
int operation(int (*op)(int, int), int a, int b)
{
return op(a, b);
}
然後就這樣稱呼它:
printf("%d\n", operation(&add, 5, 3)); // 8
printf("%d\n", operation(&sub, 5, 3)); // 2
你甚至可以做一些陣列招數:
int op = 0;
int (*my_pointer[2])(int, int) =
{
add, // op = 0 for add
sub // op = 1 for sub
};
printf("%d\n", my_pointer[op](8, 2)); // 10
+1
請注意,你實際上並不需要'&'時,通過函數;函數名稱本身也可以充當函數指針。 –
1
以及準確地回答你的問題,是有規定在C中稱爲「函數指針」。
但你必須遵循一定的規則,
1)所有的功能你想使用函數指針必須有相同的返回類型調用。 2)你想使用函數指針調用的所有函數必須有相同的參數和參數類型。
例如,
INT加(INT,INT); int sub(int,int);
爲上述兩個功能可以編寫函數指針作爲,
INT(*操作)(INT,INT);
並且您可以按照Flavio Torbio所述使用它。
希望它可以幫助.....
相關問題
- 1. C++中函數指針的指針
- 2. 如何在C中的struct中使用函數指針?
- 3. c函數指針反函數指針
- 4. 如何在Win64上使用varargs和C中的函數指針?
- 5. 函數和函數指針在C++
- 6. C指針函數
- 7. C:函數指針
- 8. C#函數指針
- 9. C#函數指針
- 10. 指針函數C++
- 11. C++函數指針
- 12. 函數指針C
- 13. 函數指針C
- 14. c函數指針
- 15. C中的函數指針表C
- 16. 函數指針用C
- 17. C++調用函數指針
- 18. 如何在C函數中使用雙指針分配內存?
- 19. 如何在C中使用函數指針?
- 20. 如何在C中使用結構體,指針和函數?
- 21. 函數指針在C#
- 22. 函數指針在C
- 23. 在函數中引用另一個指針的C指針
- 24. C++ |如何使用成員函數作爲函數指針
- 25. 如何使用自定義類型的函數指針在C++
- 26. 如何在C++中使用localtime_s指針
- 27. 如何從C#中的指針struct param調用C++函數?在 「C++。DLL」 定義
- 28. 如何在c/C++中默認初始化函數指針?
- 29. 指針在C#中的函數
- 30. 在C中使用指針
是........................ –
這聽起來不錯,但現在看來似乎最好自己嘗試一下,然後在出現問題時向我們提出具體問題。 –
我真的很驚訝,你找不到和搜索SO或谷歌使用函數指針... – Mike