
這個是什么意思啊??
uj5u.com熱心網友回復:
設定函式指標,回傳值也是一個函式指標,引數也一樣是函式指標uj5u.com熱心網友回復:
void (* f)( ) 宣告一個函式指標變數f現在f不是一個變數,而是一個函式回傳值,即把f看作set_malloc_handler( )的回傳值,那就是
void (* set_malloc_handler( ) )( )
進一步,set_malloc_handler函式還有一個引數,這個引數又是void (* )( )函式指標引數,實參是f,最終就是
void (* set_malloc_handler( void (* f )( ) ) )( )
對于主體函式set_malloc_handler而言,其引數與回傳值的型別是一樣的,都是函式指標型別void (* )( )。
這種寫法對于新手很難看懂。
應該用typedef更好。
typedef void (* malloc_handler)()
static malloc_handler set_malloc_handler (malloc_handler handler){
}
uj5u.com熱心網友回復:
上面f應是形參,說錯了uj5u.com熱心網友回復:
void fun(int b) {
}
void (*set/函式名/(/這里放函式引數/))(int//回傳的函式指標,所要求的引數 ) {
return fun;
}
int main(void)
{
void (*p)(int) = set();
p(10);
}
uj5u.com熱心網友回復:
現在知道了他的回傳值是一個函式指標,這個函式指標要求指向的函式是一個void fun()也就是回傳一個無回傳值函式;拓展一下,如果回傳的函式指標需要回傳一個函式指標怎么寫?也就是說,回傳一個回傳函式指標的函式指標,該怎么寫?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/22465.html
標籤:C++ 語言
上一篇:vs2019寫了一個簡單的利用指標通過自定義函式,進行三個數自動排序,資源不足
下一篇:誰能幫我看看哪里錯了
