Aidan Van Dyk <aidan(at)highrise(dot)ca> writes:
> Since the general form seems to be to declare things as:
> typedef struct foo { ... } foo;
> Is there any reason why we see any struct foo in the sources other
> than in the typedef line?
It gives an escape hatch in case you need a forward reference to the
struct, ie you can do "struct foo *" even before this. But I agree that
90% of those struct tags are useless, and so the habit of tagging every
typedef this way is mostly legacy.
regards, tom lane