Me encontré con esta línea:
void (*(*x)(void (*[10])(int *)))(int *)
¿Alguien puede decirme qué es?
Me encontré con esta línea:
void (*(*x)(void (*[10])(int *)))(int *)
¿Alguien puede decirme qué es?
Jesse bueno
Para desglosarlo usted mismo, comience desde los paréntesis más internos y trabaje hasta salir.
(*[10])
<---- Matriz de 10 punteros(*[10])(int *)
<------ Matriz de 10 punteros a funciones que tiene un puntero a int
como su argumento(void (*[10])(int *))
<------ Matriz de 10 punteros a funciones que tiene un puntero a int
como su argumento y devuelve void
(*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 la mitad, pero espero que eso ayude.
Seth Carnegie
cdecl es muy útil para este tipo de cosas. Dice:
declarar x como puntero a función (matriz 10 de puntero a función (puntero a int) devolviendo vacío) devolviendo puntero a función (puntero a int) devolviendo vacío
alexey frunze
Puedes encontrar explicaciones aquí:
@Shahbaz: ¿Qué tiene de gracioso?
– Alexei Frunze
23 de noviembre de 2011 a las 22:30
Quiero decir divertido como lo disfruté, por eso obtuviste el +1
– Shahbaz
23 de noviembre de 2011 a las 22:35
¡Nunca vi las declaraciones como una espiral!
– Shahbaz
23 de noviembre de 2011 a las 22:35
@Shahbaz: Tampoco se me había ocurrido hasta que vi un artículo (tercer enlace) al respecto. No es tan complejo. Intrincado (nunca mejor dicho) y contrario a la intuición, sí.
– Alexei Frunze
23 de noviembre de 2011 a las 22:39
@deathly809 luego arréglalo.
– Alexei Frunze
15 de agosto de 2014 a las 8:40
Un puntero a una función que tiene una matriz de 10 punteros a funciones que tienen argumento int * y tipo de retorno void como argumento, y devuelve un puntero a una función que tiene argumento int * y tipo de retorno void.
¿Esto es un cuestionario o algo así? 🙂
– Desarrollo fallido
23 de noviembre de 2011 a las 21:46
Esa es fácil de responder: es un desastre.
– Jerry Ataúd
23 de noviembre de 2011 a las 21:46
la respuesta es siempre cdecl.org.
– Matt K.
23 de noviembre de 2011 a las 21:46
@mkb: “declarar x como puntero a función (matriz 10 de puntero a función (puntero a int) devolviendo vacío) devolviendo puntero a función (puntero a int) devolviendo vacío” – bueno eso lo aclara
– Blue Raja – Danny Pflughoeft
23 de noviembre de 2011 a las 21:48
Por favor, dime que no encontraste esto en un código real que realmente se usa de alguna manera en alguna parte… sino en una entrada de un concurso ofuscado de algún tipo posiblemente :)?
– ScarletAmaranto
23 de noviembre de 2011 a las 21:49