It'll come down to what's the appropriate tool for what you're trying to do though. If you had a task and you might find that a certain a data structure other than a standard array is a bit more appropriate e.g. multidimensional array (study design mandates 2-dimensional arrays),
tuple (called 'records' on the study design),
map/associative array (not on the study design, but pretty useful) etc. you might find that there's an easier or more elegant way for reading the data into that.
On static array vs dynamic arrays, again it depends on what you're doing. If you have know that you're going to have a fixed amount of data, then static array may be easier, that way you can deal with the overflow a bit easier (using exception handling for example).
As another example, let's say you're implementing a stack using arrays. If you want a fixed size stack then static array would be a good choice. If you wanted to have a resizable stack (or even determine the size of the stack during run-time), then dynamic arrays might be a better choice.
It also depends on the programming language you're using and what methods of dealing with things are available to you.