¿Qué hace esta línea en C?
int (*func)();Lo extraje del siguiente programa que se supone que ejecuta el código de bytes (instrucciones de ensamblaje convertidas a sus bytes correspondientes)
char code[] = "bytecode will go here!"; int main(int argc, char **argv) { int (*func)(); func = (int (*)()) code; (int)(*func)(); }La línea en cuestión declara un puntero de función para una función con argumentos no especificados (una característica "obsoleta" desde C99) y con tipo de retorno int .
La primera línea de su main declara ese puntero, la segunda línea inicializa el puntero para que apunte al code de función. La tercera línea lo ejecuta.
Puede obtener una descripción de los punteros a las funciones en general aquí .
int (*func)(); declara func como un puntero a una función que devuelve un tipo int y espera cualquier número de argumentos .