int (*(*p1)[5])(int*);
==> p1是一个指针,数组指针,指向的数组有5个元素,这5个元素为
指针,是函数指针,指向的函数类型为int(int*)
==> typedef int(FuncType)(int*);
typedef FuncType*(ArrayType)[5];
ArrayType* p1;
int*(*(*p2)(int*))(int*);
==> p2是一个指针,指向一个函数,参数为int*,返回值为指针,
是一个函数指针,指向的函数类型为int(int*)
==> typedef int (FuncType)(int*);
typedef FuncType*(FuncType1)(int*);
FuncType1* p2;
int (*(*p3)(int*))[5];
==> p3是一个指针,指向一个函数,参数为int*,返回值为指针,
指向数组,数组类型为int[5]
==> typedef int(ArrayType)[5];
typedef ArrayType*(FuncType)(int*)
FuncType* p3;
本文详细解析了C/C++中复杂指针及函数类型的定义与使用,包括指向函数数组的指针、指向返回函数指针的函数,以及指向返回数组的函数指针。通过具体的代码示例,帮助读者理解这些高级概念。
512

被折叠的 条评论
为什么被折叠?



