struct foo { int a, b; };
A function that works on the structure looks like this, you use '->': void pr(struct foo *n) { printf("%d %d\n", n->a, n->b); }
But when you make an instance of this structure, you have to use this different syntax: struct foo p;
p.a = 1; // Yuck!
pr(&p); // Bad!
But you can do this instead: struct foo p[1];
p->a = 1; // Very nice..
pr(p); // Yes!