C是否支持函数表达式?

the*_*ejh 7 c syntax functional-programming

是否可以在C中使用函数表达式?例如,我有以下代码片段(在main函数内):

void print_line(char *data) {
  printf("%s\n", data);
}

// print all elements in my_list
list_foreach(&my_list, print_line);
Run Code Online (Sandbox Code Playgroud)

我想做这样的事情:

list_foreach(&my_list, void (char *data) {
  printf("%s\n", data);
});
Run Code Online (Sandbox Code Playgroud)

C中有什么可能吗?

D.S*_*ley 7

总而言之,不.至少不是类似Javascript的语法.函数指针与您将要获得的一样接近.两种句法上的差别很小.如果您正在寻找闭包或内部函数的行为,那么您肯定不会很快看到它们.