int(*(*ptr)(int*))[5] 这个怎么理解 大佬们

int(*(*ptr)(int*))[5] 这个怎么理解啊 大佬们 是要考虑它的优先级问题吗? 哪位大佬可以解析一下这道题呢? 谢谢啦

int (*(*ptr)(int *))[5];
可以这样分解:
typedef  int (*PARA)[5];
typedef PARA (*ptr)(int *);

这种复杂声明之痛苦

写这么复杂的表达式干嘛。……………………

指向整型的二重指针数组

http://blog.csdn.net/ztis0520/article/details/39553329