Why Use Arraylist Over Array Initialization In C