是C语言中的lambda函数吗

是C语言中的lambda函数吗,c,lambda,C,Lambda,是用C语言编写的lambda函数,还是我自己写的。 我在网上搜索,没有发现任何C++和C语言。理论意义上的< P>不是lambda语言,因为你没有一个真正的lambda类型,它可以被传递,并且像一个真值一样运行。 但使用函数指针,您可以获得非常类似的结果: typedef int (*lambda)(); // defines lambda as a type which is a pointer to a function that returns an int int foo() { re

是用C语言编写的lambda函数,还是我自己写的。
我在网上搜索,没有发现任何C++和C语言。理论意义上的

< P>不是lambda语言,因为你没有一个真正的lambda类型,它可以被传递,并且像一个真值一样运行。 但使用函数指针,您可以获得非常类似的结果:

typedef int (*lambda)(); // defines lambda as a type which is a pointer to a function that returns an int

int foo() { return 5; }
int bar() { return 10; }

lambda function;
function = foo;
function = bar;

int result = function();

简短回答:不,C没有其他语言所称的lambdas。然而,你可以用函数指针做一些有趣的事情。我认为这个答案混淆了函数作为一等公民和lambda。