Look into how vectors (a.k.a. ArrayList) track "dynamic arrays". They don't always create a new array storage area every time the size of the list is modified.



This is a great application area...