It is a function that returns an array pointer. Written more explicit, here is the meaning of the various parts:
item_type (*function_name(parameters))[array bounds];
Where item_type
is the type of the array items in the array pointed at.
The array pointer is a pointer to an array of unknown size, which is actually allowed by C, but not overly useful.
Overall, this function doesn't seem very useful and if you should ever need such an odd construct, you shouldn't write it as gibberish like this. Here is the equivalent form with a typedef:
typedef int* array_t[];
array_t* func();