この現象を解説する。 関数呼び出し まず、関数呼び出しについての規定を見る。 The expression that denotes the called function shall have type pointer to function returning void or returning a complete object type other than an array type. ―― n1570 §6.5.2.2/4 訳すとこんな感じ: 呼び出される関数を表す式は、 {void を返す関数か、配列以外の完全型を返す関数} へのポインタ型を持たなければならない。 (英語クソザコ勢なので括弧使ったけど察して) こういったわけで、実は関数呼び出しを行うとき、関数として指定する式は必ず関数ポインタ型となっている。 printf("hello") したとき、 printf は最終的
