这是在接受采访时向我询问的!
如何声明一个函数指针数组,它将void作为参数并返回一个指向整数的指针数组?
有人可以帮忙吗?
答案 0 :(得分:2)
让我们看一下......将p
作为参数的函数指针void
可以这样声明:
void (*p)(void);
返回指向整数的指针数组的方法可能如下所示:
int** (*p)(void);
或者,更严格地遵循“数组”的定义(这在实践中不太可能) - 请注意,正如Amir所指出的,C中的函数实际上不能返回数组,但可以返回指向数组的指针( 100个int指针)如下:
int* (*(*p)(void))[100];
七个这样的野兽阵列可以表示为:
int* (*(*ptrs[7])(void))[100];
void
当然可以放弃,让我们留下:
int* (*(*ptrs[7])())[100];
这可以通过优秀的cdecl tool确认。
答案 1 :(得分:1)
typedef int* (*pt2Function)(void * data);
pt2Function funcArr1[10] = {NULL};
我不认为有可能返回一个数组,你应该创建一个pionter