在C C 語言裡面,是否可以返回乙個函式指標?有什麼意義?

時間 2021-06-14 21:42:31

1樓:

首先先寫乙個函式 void foo()

這個函式執行完了發返回乙個函式指標 void (*foo())()C語言不能執行時構建函式所以不能函式返回函式定義引數傳入的函式也需要是定義好的

#include

#include

void (*funcable(void (*fvoid *p = (void (*)())malloc(sizeof(voidp = f;

return p;

}void helloworld()

int main()

2樓:

typedef int(*fptroperation) (int, int);

int add(int num1, int nun2)int sub(int num1, int nun2)fptroperation select(char ocode)int evalute(char ocode, int num1, num2)

int main()

手機打碼未除錯不知道有沒有錯

反正大概意思就是這樣子

3樓:

確實是可以的,不過這樣做的意義似乎不大,因為C/C++並沒有能夠在執行期構建函式的能力,所以返回的都是預先定義好的函式而已。將這種特性發揮得比較好的應該屬於函式式程式語言的天下。

4樓:朱前

先給出函式指標typedef int (*PointFunction)(int *str);

然後再定義乙個PointFunction MyFunc;

再定義乙個具有這個形式的函式:f2

在f1這個函式裡面返回f2就行

Python 裡為什麼函式可以返回乙個函式內部定義的函式?

鋼鐵直男劉昊然 自界說函式的呼叫是經過訪問自界說函式名來完成的,變數 函式名 參量1,參量2,明顯,與呼叫子程式的辦法不同,自界說函式的呼叫遵從內部函式 如Sin Sqr Tan等 的呼叫規矩,自帶參量也有必要用圓括號括起來。參量可所以常量 變數 表示式或陣列變數名。資料的型別應與子程式界說時的參量...

在java中,為什麼if 裡面可以放入乙個Boolean類,而放入其他的類就通不過編譯呢?

只喝伊利 因為if 語句就是用來做判斷用的,產生的結果只有true和false這兩種結果。你第乙個例子裡面寫了布林型別的,而且給了結果是false在判斷的是時候檢查了布林型別是是否是true和false的問題,所以能通過 而你的第二個例子是是string型別,賦值又是空而且你怎麼能讓if 自動去判斷...

在 Python 中怎樣讓乙個遞迴函式返回此函式的總遞迴次數?

設乙個變數count在遞迴函式裡,大概這樣 def a b count 0 if return a b count 1 return count 當然我還不是很清楚return語句的原理,這樣貌似可以?可以試試 lbaby 無子目錄即可返回。除非自己展開迭代或模擬呼叫棧,否則無法避免遞迴,pytho...