Arrays are the simplest data structures. Almost all the programming languages have an in-built implementation of an array (it might come with slight modification). An array can be understood as a box of cookies placed in a single row one after the other. Each cookie is an element or item. Each cookie in the box is next to the other just like elements in an array. Each cookie can be identified with a unique location and so the items are in an array. However, the position of the items in an array starts with index 0 followed by 1, 2, 3, and so on. The size of the array is fixed just like the cookie box. You cannot add more cookies once the box is full. Therefore, arrays have static memory allocation but however one can also implement a dynamic array as per the usage. A cookie box will only contain cookies and not cake or another item. Similarly, an array contains a single data type i.e., it is homogeneous. However, we can also have heterogeneous array types as well. For example, python lists mimic an array data structure but come with variable length and the ability to store a variety of data types making it heterogeneous. The below image demonstrates an array of lengths equal to 10 and therefore, the index position ranges from 0 to 9.