main の 4 つのステートメントに違いはありますか? apply2(&func) だけが理にかなっている気がします。ただし、4 つすべてが同じ値を返します。
int func(void)
{
return 1;
}
int apply1( int f1(void) )
{
return f1();
}
int apply2( int (*f1) (void) )
{
return f1();
}
int main()
{
apply1(func);
apply1(&func);
apply2(func);
apply2(&func);
return 0;
}