#include struct t { int b; int a; } ; struct u { struct t d; struct t c; } ; struct u x[2] = { { { 3, 1 }, { 4, 1 } }, { { 5, 9 }, { 2, 6 } } } ; int dot(struct t *p) { return p->a - p->b; } int dou(struct u *q) { return dot(&q->c) + 2 * dot(&q->d); } int main(void) { printf("%d %d\n",dou(x + 1),dou(x)); return 0; }