1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
struct foo { int i, j, k; char *p; float v; }; int f1(struct foo f, struct foo *p, int n, ...) { if (f.i != p->i) return 0; return p->j + n; } int main(void) { struct foo f; f.i = f.j = 1; f1(f, &f, 2); f1(f, &f, 2, 1, f, &f); return 0; }