/* A program to disassemble to see parallel arrays in action. */ #include int nonsense[13252]; int foos[1000]; struct bar { int quux; int weeble; int foo; double baz; }; int get_foo(struct bar *b) { return b->foo; } int get_foo_array(int b) { return foos[b]; } int main() { struct bar x = {3, 4, 5}; foos[420] = 5; printf("%d and %d\n", get_foo(&x), get_foo_array(420)); return 0; }