#include <stdio.h>

#define foreach(item, array) \
    for(int keep = 1, \
            count = 0,\
            size = sizeof (array) / sizeof *(array); \
        keep && count != size; \
        keep = !keep, count++) \
      for(item = (array) + count; keep; keep = !keep)

int main(void)
{
    int values[] = { 1, 2, 3 };

    foreach(int *v, values)
        printf("value: %d\n", *v);

    return 0;   
}