如何将参数传递给回调函数以创建新函数?

How to pass a parameter to a callback function to make a new function?

假设在 C 中我有以下代码:

int foo0(int a) { int b = 0; return a + b; }
int foo1(int a) { int b = 1; return a + b; }

...
registerCallback(foo0);
registerCallback(foo1);

我需要创建两个函数 foo0foo1 以使代码工作,尽管它们共享相同的结构。我只想编写一个函数 int foo(int a, int b) { return a + b;} 并将参数传递给 "make" 个新函数,例如 foo0foo1。这可能吗?

使用:

int bar2(int a, int b) { return bar(a); }

...
registerCallback(bar2)