И, если это делает, как Вы используете тот? (синтаксис)
Кроме того, почему делает или почему не делает лямбда-выражений поддержки C?
Нет, C не поддерживает лямбда-выражения.
Если вы хотите использовать C ++, у Boost есть библиотека, имитирующая лямбда-выражения. Кроме того, C ++ 0x будет иметь встроенную поддержку лямбда-выражений.
В то время не было большого спроса на поддержку лямбда-выражений в C, поэтому язык не поддерживал ее.
Нет, в C нет лямбда-выражений (или других способов создания замыканий).
Вероятно, это так, потому что C - это язык низкого уровня, который избегает функций, которые могут иметь плохую производительность и / или усложнять язык или систему времени выполнения.
C не поддерживает лямбда-выражения или какие-либо другие способы (в рамках стандарта языка) для динамического создания функций - все функции в соответствии со стандартом создаются во время компиляции. Я предполагаю, что причина в том, чтобы язык оставался небольшим, простым, компактным и очень быстрым, без какой-либо необходимой поддержки «библиотеки времени выполнения», что имеет решающее значение для языка, который так широко используется при программировании операционных систем, драйверов устройств, встроенных приложений и так далее.