数据类型:
int *( *( *arr[5])())();
arr[5]是一个数组,有5个元素*arr[5]是一个数组,有5个元素,每个元素都是一个指针
( *arr[5])()是一个数组,有5个元素,每个元素都是一个指针,指向一个没有形参的函数
*( *arr[5])()是一个数组,有5个元素,每个元素都是一个指针,指向一个没有形参的函数,函数的返回值是一个指针
( *( *arr[5])())()是一个数组,有5个元素,每个元素都是一个指针,指向一个没有形参的函数,函数的返回值是一个指针,指针指向一个没有形参的函数
*( *( *arr[5])())()是一个数组,有5个元素,每个元素都是一个指针,指向一个没有形参的函数,函数的返回值是一个指针,指针指向一个没有形参的函数,函数的返回值是int型变量的指针
float ( * ( *b()) [] )();
b()是一个没有形参的函数
*b()是一个没有形参的函数,返回值是一个指针
( *b()) []是一个没有形参的函数,返回值是一个指针,指向一个数组
* ( *b()) []是一个没有形参的函数,返回值是一个指针,指向一个数组,每个元素都是一个指针
( * ( *b()) [] )()是一个没有形参的函数,返回值是一个指针,指向一个数组,每个元素都是一个指针,指向一个没有形参的函数,函数的返回值是float型变量
void * ( *c) ( char a, int (*b)());
*c是一个指针( *c) ( char a, int (*b)())是一个指针,指向一个形参为 字符型 以及 另一个形参为返回值为整形的函数指针 的没有返回值的函数
float ( * ( * e[10]) (int *) ) [5];
* e[10]是一个数组,每个元素都是一个指针( * e[10]) (int *)是一个数组,每个元素都是一个指针,指向一个形参为整形指针的函数
* ( * e[10]) (int *)是一个数组,每个元素都是一个指针,指向一个形参为整形指针的函数,函数的返回值是一个指针
( * ( * e[10]) (int *) ) [5]是一个数组,每个元素都是一个指针,指向一个形参为整形指针的函数,函数的返回值是一个指针,指针指向一个5元素的浮点型数组