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