What does this C statement mean?
c, pointers
Solution
To break this down yourself, start from the inner most parentheses and work your way out.
- `(*[10])` <---- Array of 10 pointers
- `(*[10])(int *)` <------ Array of 10 pointers to functions which has a pointer to `int` as its argument
- `(void (*[10])(int *))` <------ Array of 10 pointers to functions which has a pointer to `int` as its argument and returns `void`
- `(*x)(void (*[10])(int *))` <------- `x` is a pointer to a function which has as an argument (an array of 10 pointers to functions which has a pointer to int as its argument and returns `void`)
.....
I stopped partway through, but hopefully that helps.
Problem
I came across this line: ``` void (*(*x)(void (*[10])(int *)))(int *) ``` Can anybody tell me what it is?