Dynamic arrays are useful in situations where you want to read data into memory but you don't know in advance how big the data set will be. The usual way to do this kind of thing is to use linked lists but I find that dynamic arrays, although similar, are much easier to code. Below is a very simple example of reading in a code and description from an external file into memory.