小编DiJ*_*uMx的帖子

是否可以将隐式函数作为函数指针传递给C?

最近我发现可以通过在函数调用中将它转换为函数来将隐式数组传递给函数

void foo(int* array);
foo((int[4]) {1,2,3,4});
Run Code Online (Sandbox Code Playgroud)

但是,我想知道在将函数指针传递给函数时是否可以执行相同的操作,如下所示:

void bar(void (*foobar)(void));
bar((void) {printf("foobar\n");});
Run Code Online (Sandbox Code Playgroud)

所以甚至可以这样做吗?

我想知道的原因是,如果我有一大块代码可能有一定的循环结构,但核心功能在实例之间发生变化,我不想让我的代码丢失多个临时函数只是为了通过他们到另一个功能.因此希望能够在参数中定义临时函数.

非常感谢

c function-pointers

2
推荐指数
1
解决办法
260
查看次数

标签 统计

c ×1

function-pointers ×1