BUSCAR
INICIO
MAPA
FAQs
UTILIDADES
GLOSARIO
REGISTRO
COLABORAR
QUIENES SOMOS

USUARIO

PASSWORD

FAQs
2. Definiciones e Inicializaciones

3. ¿Cómo declaro un array de N punteros a función, las cuales a su vez devuelven punteros a función, y éstas a su vez, punteros a caracteres?

Existen varias maneras:

a) char *(*(*a[N])())();

Hemos de reconocer que esta declaración resulta bastante compleja de entender, con lo cual te recomendamos que utilices el siguiente formato:
 
b) Para esta segunda opción, nos basamos en las definiciones de tipos:
         typedef char *puntChar; /* puntero a caracter */
         typedef puntChar funcion1();             /* funcion1 q devuelve un puntero a char */ 
         typedef funcion1 *puntfuncion1;        /* puntero a la función1 */
         typedef puntfuncion1 func2puntfunc1();  /* funcion2 q devuelve un puntero a la funcion1*/
         typedef func2puntfunc1 *puntfunc2puntfunc1;                /* puntero a .. */
         puntfunc2puntfunc1 a[N];                   /* array de N punteros a ... */

 
Las declaraciones que te hemos dado no incluyen los parámetros. Cuando los parámetros poseen tipos complicados, las declaraciones pueden llegar a ser, realmente enrevesadas.