04-17-2011, 02:06 AM
Explain the following instructions:
Answer:
1) int *c[10];
c is a pointer to an array of 10 integers.
2) char *(**n)(void);
n is a pointer to a pointer to a function, taking no parameters, returning a pointer to a char.
3) float *(**r(void))[6];
r is a function, taking no parameters, returning a pointer to a pointer to an array of 6 pointers to float.
4) short *(**v(void))(int);
v is a function, taking no parameter, returning a pointer to a pointer to a function, taking int as parameters, returning a pointer to a short.
5) long *(*(*(*z)(void))[7])(void);
z is a pointer to a function, taking no parameter, returning a pointer to an array of 7 pointers to functions, taking no parameter, returning pointers to long.
Answer:
1) int *c[10];
c is a pointer to an array of 10 integers.
2) char *(**n)(void);
n is a pointer to a pointer to a function, taking no parameters, returning a pointer to a char.
3) float *(**r(void))[6];
r is a function, taking no parameters, returning a pointer to a pointer to an array of 6 pointers to float.
4) short *(**v(void))(int);
v is a function, taking no parameter, returning a pointer to a pointer to a function, taking int as parameters, returning a pointer to a short.
5) long *(*(*(*z)(void))[7])(void);
z is a pointer to a function, taking no parameter, returning a pointer to an array of 7 pointers to functions, taking no parameter, returning pointers to long.