例题1:写成函数指针、函数返回指针、const指针、指向constr的指针、指向const的const指针
void(*f)();
void* f();
const int*;
int* const;
const int* const;
例题2:下面的函数声明都代表什么?
float(**def)[10];//(1)
double *(*gh)[10];//(2)
double(*f[10])();//(3)
int*((*b)[10]);//(4)
long (*fun)(int);//(5)
int(*(*F)(int,int))(int);//(6)
(1)def是一个二级指针,指向的是一个一位数组的指针,数组的元素都是float类型。
(2)gh是一个指针,指向一个一位数组,数组的元素都是double*。
(3)f是数组,f有10个元素,元素都是函数的指针,指向的函数类型是没有参数且返回double的函数。
(4)b是一个指针,指向一个一位数组,数组的元素都是int*。
(5)fun是一个函数指针
(6)f是一个函数的指针,指向的函数的类型是有两个int参数并且返回一个函数指针的函数,返回的函数指针指向有个int参数且返回int的函数。