1
我想调用一个函数,这个函数进行一些计算并返回另一个函数指针。 ANSI C
是否可以创建enum
函数类型?如果是这样,我该如何声明该功能?ANSI C - 函数是否可以返回另一个函数?
我想调用一个函数,这个函数进行一些计算并返回另一个函数指针。 ANSI C
是否可以创建enum
函数类型?如果是这样,我该如何声明该功能?ANSI C - 函数是否可以返回另一个函数?
你可能想要返回一个指向另一个函数的指针。指针的语法类似于void (*myFuncPtr)(int)
,其中myFuncPtr将是变量名称。很可能你想创建一个typedef,而不是一直键入它。小例子:
#include <stdio.h>
typedef int (*PUTS_PTR)(const char*);
PUTS_PTR ret_puts() {
return puts;
}
int main() {
PUTS_PTR pFunc = ret_puts();
(*pFunc)("Hello");
}
你也可以写函数指针调用就像pFunc("Hello")
而不是(*pFunc)("Hello");
。但在第二种语法中,您忘记初始化或检查指针的可能性较小。
这就是我想要的,用不同的方式当然。谢谢。 –
你想从另一个函数返回一个“函数指针”? – ameyCU
yes like like that [code] void(* anotherFunc)myFunc(int a){ if(a <0)anotherFunc = adding; else anotherFunc = multiplying; return(anotherFunc); } [/ code] –