#define FIELD(x) foo.x #define FIELD_OF(s, x) s.x FIELD(bar) FIELD_OF(foo, bar)