Normally when creating an array you need to know the size before-hand. Whether you know the value at compile-time or run-time can be dependent on your language/project requirements, but it must be known before you can decide to create an array of that size. (i.e. the first solution is correct)