Arrays allow storing and accessing a collection of related data elements under a common name in C. An array is declared with a data type, name, and size. Elements are accessed using an index in square brackets. One-dimensional arrays store elements in contiguous memory locations. Multi-dimensional arrays can represent matrices by using multiple indices to access elements. Arrays can be initialized during declaration by providing initial values inside curly braces.