这是我在采访中被问到的!
如何声明一个以 void 作为参数并返回整数指针数组的函数指针数组?
有人可以帮忙吗?
最佳答案
让我们看看...一个以 void
作为参数的函数指针 p
可以这样声明:
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 来证实。 .
关于c - 声明一个函数指针数组,该数组以 void 作为参数并返回一个指向整数的指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18306237/