关于复杂的C语言申明
今天在书上看到这样的一个申明
char *(* c[10])(int **p)
我思前想后是在不知道这个该怎么解释,求高手相助,不知道这个是怎么样一步一步的看出来的
[解决办法]
char * (*FUN) (int **p)
FUN为指向函数的指针,该函数返回char *,参数是(int **p)
此处c[10]是10个元素的数组,每个元素的类型是FUN
[解决办法]
char *(* c[10])(int **p)
这样的东西可以从中间向两边读
首先看(*c[10]),[]的结合性高于*,所以c是一个数组,有是个元素,每个元素都是:
char *(* b)(int **p)
就是一个函数指针
[解决办法]
char *(* c[10])(int **p)从括号开始解析,然后就是[]->()-->返回值!