When in doubt I tend to do the following:

- Allocate enough space for N elements, where N is a decent guess as to the maximum list size I'll need (1 malloc). Call this a "storage array".
- When...