在 C 中,有没有一种方法可以调用存储在某个数组中的参数的函数?我是 C 新手,我什至不确定这是否正确,但例如:
void f0(int a) { ... };
void f1(int a, int b) { ... };
void f2(int a, int b, int c) { ... };
int array[5][2][?] = [
[&f0, [5]],
[&f1, [-23, 5]],
[&f2, [0, 1, 2]],
[&f2, [1235, 111, 4234]],
[&f0, [22]]
];
int i;
for (i = 0; i < 5; i++) {
APPLY?(array[i][0], array[i][1])
}
PS:当数组的项目长度不同时,我应该使用什么样的结构?
在 Python 中,这将是:
def f0(a): ...
def f1(a, b): ...
def f2(a, b, c): ...
array = [
(f0, (5,)),
(f1, (-23, 5)),
(f2, (0, 1, 2)),
(f2, (1235, 111, 4234)),
(f0, (22,))
]
for f, args in array:
apply(f, args)