Teniendo en cuenta este código con 3 diferentes semántica llamada de función:llamada de función con diferentes semántica
void f(void){
puts("OK");
}
int main(void){
f();
(*f)();
(&f)();
return 0;
}
El primero es la manera estándar para llamar a f,
la segunda es la semántica para eliminación de referencias punteros de función,
pero en el tercero estoy aplicando el operador & al nombre de la función y parece funcionar bien.
¿Qué sucede en el segundo y tercer caso?
Gracias.
El puntero a la función obtiene dereferenced para la llamada en el tercero. –
Por diversión intente '(********** f)();' también – Flexo
Pregunto en qué caso alguien debería usar la segunda y la tercera llamada ... –