指针的数据声明
各位大侠说说你们队这几个数据声明的理解吧;程序代码:
(1) float (**def)[10]; (2) double *(*gh)[10]; (3) double (*f[10])(); (4) int *((*b)[10]); (5) Long (*fun)(int); (6) int (*(*F)(int,int))(int)我的理解:
(1)相当于
float c[10];
float *p1=c;
int *def=&p1;
即:def是一个指针;该指针指向一个 指向float类型的指针p1;
(2)相当于
double *p1[10];
int *gh=p1;
即:gh是个指针,指向一个指针数组p1;指针数组p1内的指针指向double类数据;
(3)f是一个指针数组;数组内的指针指向的是一个无参数,返回值为double的函数;
(4)和 int *(*b)[10]一样;b是一个指针,指向一个指针数组,该指针数组的指针指向整形数;
(5)fun是一个函数指针;它指向一个拥有一个整形参数,且返回值为Long的函数;
(6)F是一个函数指针,它指针指向一个拥有两个整形参数,且返回值为指针P的函数;该返回的指针P是一个函数指针,该函数指针指向一个拥有一个整形参数,且返回值为整形的函数;
不知道我理解的对不对。如果不对,大家说说自己的正确看法。