如何定义函数指针数组,而函数没有相同的输入参数定义?

MOH*_*MED 1 c pointers function

是否可以定义一个函数指针数组(并且这些函数没有相同的输入参数),如下面的代码所示?

如果是,我必须在函数定义中输入什么 int (*handler)(/*what Ihave to put here ?*/);

struct handler_index {
    const char *name;
    int (*handler)(/*what Ihave to put here ?*/);
};

int handler0 (int a, int b)
{
    printf("%d\n",a+b);
}

int handler1 (int a, int b, int c)
{
    printf("%d\n",a+b+c);
}

int handler2 (int a, int b, int c, int d)
{
    printf("%d\n",a+b+c+d);
}

const struct handler_index handler_index[] = {
  [0] = {"handler0", handler0},
  [1] = {"handler1", handler1},
  [2] = {"handler2", handler3},
};
Run Code Online (Sandbox Code Playgroud)

oua*_*uah 5

什么都不要放:

int (*handler)();
Run Code Online (Sandbox Code Playgroud)

这表示该函数具有未指定(但不可变)的参数数量和类型。

可以将任何返回int且具有固定数量的参数的函数分配给handler