¿Qué significa esta statement C?

Me encontré con esta línea:

void (*(*x)(void (*[10])(int *)))(int *) 

¿Alguien puede decirme qué es?

Para descomponerlo usted mismo, comience desde el paréntesis más interno y continúe su camino de salida.

  1. (*[10]) <---- Matriz de 10 punteros
  2. (*[10])(int *) <------ Matriz de 10 punteros a funciones que tiene un puntero a int como argumento
  3. (void (*[10])(int *)) <------ Matriz de 10 punteros a funciones que tiene un puntero a int como argumento y devuelve void
  4. (*x)(void (*[10])(int *)) <------- x es un puntero a una función que tiene como argumento (una matriz de 10 punteros a funciones que tiene un puntero a int como argumento y devuelve void )

…..

Me detuve a mitad de camino, pero espero que eso ayude.

cdecl es muy útil para este tipo de cosas. Dice:

declarar x como puntero a la función (matriz 10 del puntero a la función (puntero a int) devolviendo el vacío) retornando el puntero a la función (puntero a int) volviendo vacío

Puedes encontrar explicaciones aquí:

  • Cómo leer declaraciones C complicadas: no se computa
  • Lectura de declaraciones tipo C
  • Declaraciones C – Regla horaria / espiral
  • C-FAQ Pregunta 1.21 – Declaraciones complejas

Un puntero a una función que tiene una matriz de 10 punteros a funciones que tiene un argumento int * y un tipo de retorno void como argumento, y devuelve un puntero a una función que tiene un argumento int * y un tipo de retorno void.

Fuente