From article <bqbl2f$huv$1@news511.nifty.com>
        by <kounoike@mbh.nifty.com>

> 納得です。河野さんが挙げられた例は、typedefを使用する理由の1つには可読性を
> よくするためのものであるが、無条件にtypedefを使用すると無用な混乱を起こすと
> いうよい例を示されたということですね。

 それは逆でしょう。

> typedef int (*fnptr)();
> typedef fnptr (*fnptr_fn)();

 typedefを使ってこう書くと判りやすく

> typedef int (*(*fnptr_fn)())();

 使わずにこう書くとわかりにくい……と。

 で、(int (*)())(*)() は単に錯覚の産物なのでしょう。