Есть ли аналог Оператору foreach из C# - C (СИ)
Формулировка задачи:
Есть ли в Си аналог Оператору foreach который повторяет группу вложенных операторов для каждого элемента массива?
Решение задачи: «Есть ли аналог Оператору foreach из C#»
textual
Листинг программы
#include <stdio.h>
#define foreach(it, arr, size, code) do{\
__typeof__(arr[0]) *it, *__last;\
it = (arr); __last = it + (size);\
for (; it != __last; ++it ) code\
} while(0);
int main(void) {
int arr[] = { 100500, 42, 666 };
foreach(item, arr, 3, {
printf("%d\n", *item);
})
return 0;
}