UNIXでシグナル処理を勉強していて、これに出くわしました
void (*signal(int sig, void (*func)(int)))(int);
このプロトタイプと、これが関数へのポインターを返す方法を理解していません。
私もこの答えを読みました: Cの関数ポインタはどのように機能しますか? しかし、それは私には明らかではありません。
関数ポインターを返すはずですが、戻り値の型を別の関数ポインターとして指定する場所がわかりません。
私が見る方法は(*foo(int n))
、関数定義で使用すると、この関数の戻り値の型がfoo(int n)
関数ポインターになるということです.これは正しいですか?
これにはもっと簡単な例がありますか?