static void (* __set_malloc_handler(void (*__f)()))()
void (*func)()這個我懂,但是上面這個__f是乾嘛的,上面的函數該怎麼呼叫?
void (*func)()
__f
拆開一層一層的分析最內部的__f是一個函數指針,其參數為void,回傳值為void。 然後__set_malloc_handler比較容易迷惑,首先它是一個函數(一開始說錯了,不是指針),其參數為形如__f的函數指針,其返回值又是個指針,這個指針的類型是void (*)()用法應該是形如下面這樣:
__set_malloc_handler
void (*foo)(); void (*bar)(); foo = __set_malloc_handler(bar);
拆開一層一層的分析
最內部的
__f
是一個函數指針,其參數為void,回傳值為void。然後
__set_malloc_handler
比較容易迷惑,首先它是一個函數(一開始說錯了,不是指針),其參數為形如__f
的函數指針,其返回值又是個指針,這個指針的類型是void (*)()用法應該是形如下面這樣: