ANSI C - 函数可以返回另一个函数吗?

时间:2015-08-28 10:54:11

标签: function ansi-c

我想调用一个函数,这个函数进行一些计算并返回另一个函数指针。如果没有创建ANSI C函数类型,enum是否可以这样做?如果是这样,我该如何宣布该功能?

1 个答案:

答案 0 :(得分:0)

您可能想要返回指向另一个函数的指针。指针的语法类似于Collections.sort(myList); A previous = null; for (A elem: myList) { if (elem.compareTo(previous) == 0) continue; previous = elem; [... process unique element ...] } ,其中myFuncPtr是变量名。很可能你想创建一个typedef而不是一直打字。一个最小的例子:

SELECT DISTINCT CustomerName, Customer.CustomerSSN 
FROM Customer, Transaction
WHERE Customer.CustomerSSN=Transaction.CustomerSSN
AND (NULLIF(YEAR(TransactionDate), 2000) IS NOT NULL)

您也可以像void (*myFuncPtr)(int)而不是#include <stdio.h> typedef int (*PUTS_PTR)(const char*); PUTS_PTR ret_puts () { return puts; } int main () { PUTS_PTR pFunc = ret_puts(); (*pFunc)("Hello"); } 一样编写函数指针调用。但是在第二种语法中,您忘记初始化或检查指针的概率较小。