Data structure is a fundamental concept of any programming language, essential for algorithmic design.
Any given problem has constraints on how fast the problem should be solved and how many resources it consumes. Data structures help solve those constraints efficiently.
An array is a collection of elements stored in contiguous memory locations and accessed by index.