int *(*(*(*x)())[10])();
详细分解:
- typedef int * pi;
// pi 是一个指向整形的指针 - typedef pi fpi();
// fpi 是一个返回值为pi的函数 - typedef fpi * pfpi;
// pfpi 是一个指向fpi函数的指针 - typedef pfpi apfpi[10];
// apfpi 是一个包含10个元素的数组,元素类型为pfpi - typedef apfpi * papfpi;
// papfai 是一个指向apfpi数组的指针 - typedef papfpi fpapfpi(); // fpapfpi 是一个返回值为papfai的函数
- fpapfpi * pfpapfpi, * x;
// pfpapfpi 是一个指向fpapfpi函数的指针 ,x同类
原书分解:
- typedef int *(*print_function_ptr)();
- typedef print_function_ptr (*digit_routines)[10];
- digit_routines (*x)();
标准C语言函数声明
void (*signal(int sig, void (*func)(int siga)))(int siga);
声明了一个signal函数( 指向某 函数的指针? ),函数带两个参数:sig是整型数值,func是一个void函数的指针,func函数带一个整型参数siga。signal函数返回值为一个void函数指针( signal函数返回值为void? ),void函数带一个整型参数。
1.(美)Samuel P. Harbison III Guy L. Steele Jr. C: A Reference Manual (Fifth Edition)
邱仲潘 等译 C语言参考手册 机械工业出版社,2005.6 ISBN 7-111-12219-4
2.(美)Samuel P. Harbison III Guy L. Steele Jr. C: A Reference Manual (Fifth Edition)
徐波 译 C语言参考手册 机械工业出版社,2008.4 ISBN 978-7-111-23591-0
3.Summit, Steve. C programming FAQs, Addison-Wesley, 1996, ISBN 0-201-84519-9
http://blog.sina.com.cn/s/blog_42adc9870100jn4v.html