/**************************************************************************** PROGRAMA: p_c_01.c AUTOR: Kiko FECHA: 11.10.94 FINALIDAD: Soluci¢n al problema 01 de la hoja de problemas de C ****************************************************************************/ /* 1.- Punteros. Explicar el sentido de cada una de las declaraciones siguientes: int *p; /* Puntero a un entero */ int *p[10]; /* Array de 10 punteros a entero */ int (*p)[10]; /* Puntero a un array de 10 enteros */ int *p(void); /* p es una funci¢n que devuelve un puntero a entero */ int p(char *a); /* p es una funci¢n que devuelve un entero */ /* y toma como argumento un puntero a car cter */ int *p(char *a); /* p es una funci¢n que devuelve un puntero a entero */ /* y toma como argumento un puntero a car cter */ int (*p)(char *a); /* p es un puntero a funci¢n. La funci¢n devuelve */ /* un entero y toma como argumento un puntero a car cter */ int (*p(char *a))[10]; /* p es una funci¢n que toma como argumento un */ /* puntero a caracter y devuelve un puntero a un */ /* array de 10 enteros */ int p(char (*a)[]); /* p es una funci¢n que devuelve un entero y toma */ /* un puntero como argumento un puntero a run */ /* array de caracteres */ int p(char *a[]); /* p es una funci¢n que devuelve un entero y toma */ /* como argumento un array de punteros a caracter */ int *p(char a[]); /* p es una funci¢n que devuelve un entero y toma */ /* como argumento un array de caracteres */ int *p(char (*a)[]); /* p es una funci¢n que devuelve un puntero a entero */ /* y toma como arg. un puntero a un array de char */ int *p(char *a[]); /* p es una funci¢n que devuelve un puntero a entero */ /* y toma como arg. un array de punteros a caracter */ int (*p)(char (*a)[]); /* p es un puntero a una funci¢n que devuelve un */ /* entero y toma como arg. un puntero a un array de */ /* caracteres */ int *(*p)(char (*a)[]); /* p es un puntero a una funci¢n que devuelve un */ /* puntero a entero y toma como arg. un puntero a */ /* un array de caracteres */ int *(*p)(char *a[]); /* p es un puntero a una funci¢n que devuelve un */ /* puntero a entero y toma como arg. array de */ /* punteros a caracter */ int (*p[10])(void); /* p es un array de 10 punteros a funci¢n. cada */ /* funci¢n devuelve un entero y no tiene argumentos */ int (*p[10])(char a); /* p es un array de 10 punteros a funci¢n. cada */ /* funci¢n devuelve un entero y toma como arg. un */ /* caracter */ int *(*p[10])(char a); /* p es un array de 10 punteros a funci¢n. cada */ /* funci¢n devuelve un puntero a entero y toma como */ /* arg. un caracter */ int *(*p[10])(char *a); /* p es un array de 10 punteros a funci¢n. cada */ /* funci¢n devuelve un puntero a entero y toma como */ /* arg. un puntero a un caracter */