1

丑陋的面试问题:你会如何声明一个包含 N 个函数的指针数组?在有和没有 typedef 的情况下显示它。

假设这些函数没有参数。

我的 typedef 正确吗?

typedef char* (*f1)();
typedef f1 (*f2)();

f2 a[N];
4

2 回答 2

1

typedef char *(*(*foo[])())();

但我在这里绝对同意@Xploit。永远不要写这个。

于 2012-11-19T02:12:04.543 回答
0

返回字符指针的函数:

typedef char * (*fpc)(void);

函数返回指向函数的指针,返回指向字符的指针:

typedef fpc (*fpa)(void);

指向函数的函数指针数组,返回指向函数的指针,返回指向字符的指针:

fpa my_array[N];

我将把非 typedef 版本留给 OP。没有理由禁止 typedef。

于 2012-11-19T02:26:47.997 回答