And, if it does, how do you use one? (syntax)
Also, why does or why doesn't C support lambda expressions?
And, if it does, how do you use one? (syntax)
Also, why does or why doesn't C support lambda expressions?
No, C has no support for lambda expressions.
If you're willing to use C++, Boost has a library that emulates lambdas. Also, C++0x will have built-in support for lambda expressions.
There wasn't a huge demand for lambda expression support in C at the time, so the language didn't support it.
No, C doesn't have lambda expressions (or any other way to create closures).
This is likely so because C is a low-level language that avoids features that might have bad performance and/or make the language or run-time system more complex.
C does not support lambda expressions, nor any other ways (within the language's standard) to dynamically create functions -- all functions, per the standard, are created at compile time. I guess the reason is to keep the language small, simple, lean, and very fast, with hardly any "runtime library" support necessary -- crucial for a language that's so widely used in programming operating systems, device drivers, embedded applications, and so forth.