do a search for malloc(). i'm pretty sure that's the general way to create a "global" struct on the fly. i did something similar with a custom physics engine, and in the "phys_create" function i'd add each new PHYS_ENT into a linked list so i could search through them all at any given time.
very useful

i don't remember how to use malloc() though. search the forum -- there should be a fair amount of examples.
julz