Arrays allow storing multiple values of the same data type in adjacent memory locations. There are one-dimensional arrays, which store elements in a single list, and multi-dimensional arrays like two-dimensional arrays which store elements in a table-like structure. Arrays can be declared and initialized, with elements accessed via indices and operations like loops. The memory address of elements depends on whether the array is laid out in row-major or column-major order.