将非声明函数赋予函数指针

时间:2017-09-05 19:32:39

标签: c function function-pointers

我试图理解所有这些巨大的函数指针概念......

是否可以使用非声明函数初始化函数指针?

例如,函数指针的简单用法是:

void f()
{
  printf("Hello world!");
}
//Somewhere in the program
void (*foo)();
foo = &f;

有没有办法跳过f的声明?类似的东西:

void (*foo)();
foo = { printf("Hello world!"); }

1 个答案:

答案 0 :(得分:4)

您所描述的内容称为lambda functions,这是C中没有的机制。您可以将lambda函数视为匿名函数。

C ++和C#支持。阅读更多内容。Function pointers, Closures, and Lambda