char (*(*x[3])())[5] 谁能给个类似这个的声明的示例的使用
char **argv
argv: pointer to pointer to char
int (*daytab)[13]
daytab: pointer to array[13] of int
int *daytab[13]
daytab: array[13] of pointer to int
void *comp()
comp: function returning pointer to void
void (*comp)()
comp: pointer to function returning void
char (*(*x())[])()
x: function returning pointer to array[] of pointers to function returning char
从最 里面开始 x---->右结合----->x()是个函数
*x()------>函数的返回值是 指针
*x()[]----->继续右结合,函数的返回值是指针,返回的这个指针指向数组
*(*x())[]------->这个数组内,里面存储的是个指针,
(*(*x())[])()-------->数组 里的这个指针呢,指向一个函数
char(*(*x())[])() --------->这个函数的返回值 是char型的
char (*(*x[3])())[5]
x: array[3] of pointers to functions returning pointer to array[5] of char
x ------->开始
x[3]------>数组
*x[3]-----》数组里面存储的是指针
(*x[3])------》
(*x[3])()----》数组里面的存储的指针 指向函数
*(*x[3])()-----》函数的返回值是指针
*(*x[3])()-------》
(*(*x[3])())[5]----》函数的返回 的指针指向有5个元素的数组数组
char(*(*x[3])())[5]---》数组中的每个元素是char型的
不知道分析的对不对?
谁能给个例子,比如c++ 中的虚函数用那个方法?
或者 这样的例子到底 实用不实用。